本人没用二分答案,用奇特的优先队列,但10分……
求大佬瞅瞅
#include<bits/stdc++.h>
#define int long long
using namespace std;
int l,n,k,x,last;
priority_queue <int> q;
signed main(){
cin>>l>>n>>k;
for(int i=1;i<=n;i++){
cin>>x;
if(i==1){
q.push(x);
}
else{
q.push(x-last);
}
last=x;
}
while(k--){
int top=q.top();
q.pop();
int a=top/2;
int b=top-a;
q.push(a);
q.push(b);
}
cout<<q.top();
return 0;
}
谢谢