大家帮我看看代码,这代码在自己编译器上可以运行,但在蓝桥杯题库里提交就提示无法编译了。
{
priority_queue<pair<int,int>,vector<pair<int,int> >,greater<pair<int,int> > >que;
int N,K;cin>>N>>K;
for(int i=1;i<=N;i++)
{
int tem;cin>>tem;
que.push(make_pair(tem,i));
last[i]=i-1;
next[i]=i+1;
}
while(que.size()!=N-K)
{
int data=que.top().first;
int xy=que.top().second;
que.pop();
if(zen[xy])
{
que.push(make_pair(data+zen[xy],xy));
zen[xy]=0;
}
else
{
zen[last[xy]]+=data;
zen[next[xy]]+=data;
next[last[xy]]=next[xy];
last[next[xy]]=last[xy];
}
}
int min=1000000000;
while(!que.empty())
{
int xy=que.top().second;
a[xy]=que.top().first+zen[xy];
que.pop();
if(xy<min) min=xy;
}
for(int i=1;i<=N-K;i++)
{
cout<<a[min]<<' ';
min=next[min];
}
return 0;
}