137802025-01-08 17:59:50AblablablaMaximális szorzat (50 pont)cpp17Wrong answer 40/5059ms804 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const ll MOD = 1e9 + 7;

int main()
{
    int n, m, b;
    cin >> n >> m >> b;

    vector<int> alap(n);
    int van = 0;
    for(int &x : alap){
        cin >> x;
        van += (x < 0);
    }

    if(van < b){
        cout << "-1\n";
        return 0;
    }

    sort(alap.begin(), alap.end());

    int l = 0, r = 1e9;
    int val = -1;
    int mar = 0;

    while(l <= r){
        int k = (l + r) / 2;

        ll ossz = 0;
        for(int i = b; i < n; i++){
            ossz += max(0, k - alap[i]);

            if(ossz > m) break;
        }

        if(ossz <= m){
            val = k;
            mar = m - ossz;
            l = k + 1;
        } else{
            r = k - 1;
        }
    }

    for(int i = b; i < n; i++){
        alap[i] = max(alap[i], val);
        alap[i] += (mar-- > 0);
    }

    ll ans = 1;
    for(ll x : alap){
        ans *= x;
        ans %= MOD;
    }

    cout << ans << "\n";
}
SubtaskSumTestVerdictTimeMemory
base40/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted0/01ms316 KiB
4Accepted0/01ms316 KiB
5Accepted0/04ms316 KiB
6Accepted2/21ms508 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted2/21ms316 KiB
10Accepted2/24ms316 KiB
11Accepted2/252ms796 KiB
12Accepted1/156ms564 KiB
13Accepted1/11ms500 KiB
14Accepted1/14ms316 KiB
15Wrong answer0/119ms608 KiB
16Accepted1/120ms564 KiB
17Wrong answer0/120ms604 KiB
18Accepted1/110ms604 KiB
19Wrong answer0/139ms564 KiB
20Wrong answer0/128ms804 KiB
21Wrong answer0/157ms800 KiB
22Wrong answer0/123ms568 KiB
23Accepted1/157ms564 KiB
24Accepted1/156ms564 KiB
25Accepted2/21ms508 KiB
26Accepted2/24ms316 KiB
27Wrong answer0/228ms568 KiB
28Wrong answer0/128ms564 KiB
29Accepted2/217ms564 KiB
30Accepted1/159ms564 KiB
31Wrong answer0/141ms580 KiB
32Accepted2/21ms320 KiB
33Accepted2/257ms568 KiB
34Accepted1/157ms564 KiB
35Accepted2/257ms804 KiB
36Accepted2/257ms572 KiB
37Accepted2/257ms564 KiB
38Accepted2/257ms796 KiB
39Accepted1/11ms320 KiB