想到二分答案写不出check,遂写个暴力
#include<bits/stdc++.h>
using namespace std;
#define int long long
priority_queue<int,vector<int>,greater<int> > qwq;
int n,k;
signed main(){
cin.tie(0)->sync_with_stdio(0);
cin>>n>>k;
for(int i=1;i<=n;i++){
int tmp;
cin>>tmp;
qwq.push(tmp);
}
int ans=1;
while((int)qwq.size()==n){
vector<int> vec;
for(int i=1;i<=k;i++){
int fn=qwq.top();
qwq.pop();
vec.push_back(fn+1);
}
for(int i=0;i<(int)vec.size();i++){
// cout<<vec[i]<<'\n';
qwq.push(vec[i]);
}
// cout<<qwq.top()<<'\n';
if(qwq.top()<=ans){
cout<<ans-1<<'\n';
return 0;
}
ans++;
}
return 0;
}
80pts,最后两点T飞