我的思路是:
读入数据把每个距离都存入优先队列,然后每次花费一个路标把堆顶元素砍掉一半。
这思路感觉没什么问题啊,样例是过的,感觉代码也没啥问题啊orzorzorzorz
#include<bits/stdc++.h>
using namespace std;
priority_queue<int>juli;
int l,n,k,i,x,y;
int main(){
cin>>l>>n>>k;
for(i=0;i<n;i++){
cin>>x;
juli.push(x-y);
y=x;
}
while(k>0){
x=juli.top();
juli.pop();
if(x%2==0){x/=2;juli.push(x);}
else{
x=x/2+1;
juli.push(x);
}
k--;
}
cout<<juli.top();
return 0;
}
错哪儿了,各位帮忙看一下吧orzorzorzorz