俺这个菜鸡又来找神犇们求助了qaq
#include<bits/stdc++.h>
using namespace std;
int main()
{
int N,M,mid,i,flag; cin>>N>>M;
int trees[N];
for(i = 0;i < N;i++){
cin>>trees[i];
}
sort(trees,trees + N);
mid = trees[i]>>1;
while(1){
for(int j = i;j >= 0;j--){
if(trees[j] > mid){
flag += (trees[j] - mid);
}
else break;
}
if(flag == M){
cout<<mid;
break;
}
if(flag < M) mid--;
if(flag > M) mid++;
flag = 0;
}
return 0;
}
输入样例
5 20
4 42 40 26 46
代码无输出 疑似卡死循环qaq
菜鸡检查不出来是为什么卡