116332024-11-02 10:11:23MagyarKendeSZLGPontos átlag 2cpp17Elfogadva 100/10035ms2036 KiB
#include <iostream>
#include <numeric>
#include <vector>

using namespace std;
#define int long long

int32_t main() {
    cin.tie(0), ios::sync_with_stdio(0);

    int N, K;
    cin >> N >> K;
    vector<int> p(N);
    for (int& x : p) cin >> x;

    int goal = N * K;
    int avg = accumulate(p.begin(), p.end(), 0LL);

    auto f = [&](int c) -> bool {
        if (avg == goal) { return 1; }
        if (avg < goal) { return avg + N * c >= goal; }
        int d = 0;
        for (int x : p) { d += min(x - 1, c); }
        return avg - d <= goal;
    };

    int l = -1, r = 2e9;
    while (r - l > 1) {
        int m = (r + l) / 2;
        if (f(m)) {
            r = m;
        } else {
            l = m;
        }
    }

    cout << r << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms320 KiB
2Elfogadva1ms320 KiB
subtask210/10
3Elfogadva1ms320 KiB
4Elfogadva1ms320 KiB
5Elfogadva1ms320 KiB
6Elfogadva1ms320 KiB
7Elfogadva1ms320 KiB
8Elfogadva1ms320 KiB
subtask320/20
9Elfogadva14ms1980 KiB
10Elfogadva20ms1848 KiB
11Elfogadva14ms1848 KiB
12Elfogadva20ms1848 KiB
13Elfogadva14ms1860 KiB
14Elfogadva21ms2028 KiB
15Elfogadva20ms1848 KiB
16Elfogadva20ms2036 KiB
17Elfogadva1ms320 KiB
subtask424/24
18Elfogadva1ms320 KiB
19Elfogadva1ms320 KiB
20Elfogadva1ms320 KiB
21Elfogadva1ms320 KiB
22Elfogadva1ms320 KiB
23Elfogadva1ms320 KiB
24Elfogadva1ms320 KiB
25Elfogadva1ms388 KiB
26Elfogadva1ms508 KiB
27Elfogadva1ms320 KiB
28Elfogadva1ms552 KiB
subtask546/46
29Elfogadva23ms1828 KiB
30Elfogadva28ms1848 KiB
31Elfogadva18ms1244 KiB
32Elfogadva20ms1912 KiB
33Elfogadva32ms1848 KiB
34Elfogadva32ms1848 KiB
35Elfogadva28ms1848 KiB
36Elfogadva35ms1848 KiB
37Elfogadva35ms1864 KiB
38Elfogadva26ms1848 KiB
39Elfogadva13ms824 KiB
40Elfogadva1ms320 KiB
41Elfogadva1ms508 KiB