|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <bits/stdc++.h>
- using namespace std;
- int n,m;
- const int N=1e6+10;
- int a[N];
- void putin()
- {
- cin>>n>>m;
- for(int i=1;i<=n;i++)
- {
- cin>>a[i];
- }
- }
- int check(int k)
- {
- int sum=0;
- for(int i=1;i<=n;i++)
- {
- if(k>a[i])sum+=k-a[i];
- else sum+=0;
- }
- return sum;
- }
- int cut()
- {
- int l=1,r=1e9;
- while(l<=r)
- {
- int mid=l+r>>1;
- if(check(mid)>m)l=mid+1;//取多了,将H提高,保证是那个值
- else if(check(mid)<m)r=mid-1;
- else
- {
- return mid;
- return 0;
- }
-
- }
- return r;
-
- }
- int main()
- {
- putin();
- cout<<cut()<<endl;
- }
复制代码
我的cut()里面的代码不对,应该怎么修改呢 |
|