1 条题解

  • 0
    @ 2023-3-13 12:01:56

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    
    long long n,m,a[1000100],ma;
    
    //check函数 
    long long check(long long x){
    	long long ans = 0;
    	for(int i = 1;i <= n;i++){
    		if(a[i] > x){
    			ans = ans + (a[i] - x);
    		}
    	}
    	return ans;
    }
    
    int main(){
    	cin>>n>>m;
    	for(int i = 1;i <= n;i++){
    		cin>>a[i]; 
    		ma = max(a[i],ma);//求最大 
    	}
    	
    	long long l=1,r=ma,mid;
    	while(l <= r){
    		mid = (l + r) >>1;
    		if(check(mid) < m) r = mid-1;
    		else l = mid + 1;
    	}
    	cout<<l-1;
    }
    
    • 1

    信息

    ID
    1964
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者