WA on #1 求调
查看原帖
WA on #1 求调
1632230
bus_man楼主2025/7/28 17:00

90pts

#include <bits/stdc++.h>
#define maxn 1000010
#define ll long long
using namespace std;

int n, k;
ll a[maxn], sum[maxn];

int main()
{
    scanf("%d%d", &n, &k);
    for(int i = 1; i <= n; i++)
    {
        scanf("%lld", &a[i]);
    }
    sort(a + 1, a + n + 1);

    for(int i = 1; i <= n; i++)
    {
        sum[i] = sum[i - 1] + a[i];
    }

    ll L = 0, R = a[n] + n;

    while(L < R)
    {
        ll M = (L + R + 1) >> 1;
        int pos = upper_bound(a + 1, a + n + 1, M) - a - 1;
        if((M + 1) * pos - sum[pos] <= (ll)M * k)
        {
            L = M;
        }
        else
        {
            R = M - 1;
        }
    }

    printf("%lld", L);

    return 0;
}
2025/7/28 17:00
加载中...