7 条题解

  • -4
    @ 2024-12-17 16:38:32
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e7+10;
    int sum,ans,num;
    int a[N],n,r;
    int main(){
    	cin>>n>>r;
        for(int i=1;i<=n;i++){
        	cin>>a[i];
    	}
        sort(a+1,a+n+1);
        num=n;
        while(sum<r){
            sum+=(a[num]-a[num-1])*(n-num+1);
            num--;
        }
        num++;
        ans=a[num-1]+(sum-r)/(n-num+1);
        cout<<ans;
        return 0;
    }
    小鸟
    
    • @ 2024-12-17 16:41:05

      飞舞

    • @ 2024-12-17 16:41:19

      没小鸟

    • @ 2024-12-17 16:42:02
      /*没小鸟的钟鼎皓盗我号骗分*/
      /*小心slz钟鼎皓 药哥嗑药抄题解不改头文件!!!!!!!!!!!!!!!!!!!!!!!!!!*/
      #include <bits/stdc++.h>
      #define LL long long
      using namespace std;
      const int N = 1e6 + 10;
      const int INF = 0x3f3f3f3f;
      int n , m , l , r , ans;
      int a [N];
      bool check (int mid)
      {
      	int sum = 0;
      	for (int i = 1; i <= n; i++)
      	{
      		if (a [i] > mid)
      		{
      			sum += a [i] - mid;
      		}
      	}
      	return (sum >= m);
      }
      int main()
      {
      	    cin >> n >> m;
      		for (int i = 1; i <= n; i++)
      	    {
      	    	cin >> a [i];
      		}
      		sort (a + 1 , a + 1 + n); 
      		l = 1;
      		r = a [n];
      		while (l <= r)
      		{
      			int mid = (l + r) >> 1;
      			if (check (mid))
      			{
      				ans = mid;
      				l = mid + 1;
      			}
      			else 
      			    r = mid - 1;
      		} 
      		cout << ans;
      		return 0;
      }
      /*小心slz钟鼎皓或 上线盗你号 没小鸟的钟鼎皓盗我号骗分
      
      */
      

信息

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