7 条题解

  • -2
    @ 2024-11-3 15:46:04
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,m,a[1114514];
    bool check(int h)
    {
    	int sum = 0;
    	for(int i = 1;i <= n;i++)
    		if(a[i] > h)
    			sum += (a[i]-h);
    	return sum >= m;
    }
    int main()
    {
    	cin >> n >> m;
    	for(int i = 1;i <= n;i++) cin >> a[i];
    	int l = 0,r = 1000000000;
    	while(l < r)
    	{
    		int mid = (l + r + 1) >> 1;
    		if(check(mid)) l = mid;
    		else r = mid - 1;
    	}
    	cout << l;
    	return 0;
    }
    

    信息

    ID
    1280
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    506
    已通过
    131
    上传者