116512024-11-03 17:04:48MagyarKendeSZLGMaximális szorzat (50 pont)cpp17Hibás válasz 2/5063ms1512 KiB
#include <algorithm>
#include <iostream>
#include <queue>
#include <vector>

using namespace std;
using ll = long long;

int main() {
    ll N, K, B;
    cin >> N >> K >> B;

    vector<ll> neg, pos;
    for (int i = 0; i < N; i++) {
        int x;
        cin >> x;
        if (x < 0) {
            neg.push_back(x);
        } else {
            pos.push_back(x);
        }
    }

    if (neg.size() < B) {
        cout << "-1\n";
        exit(0);
    }

    sort(neg.rbegin(), neg.rend());
    ll result = 1;
    for (int i = 0; i < B; i++) {
        result *= neg.back();
        neg.pop_back();
    }

    exit(0);

    priority_queue<ll, vector<ll>, greater<ll>> pq;
    for (int i = 0; i < pos.size(); i++) {
        pq.push(pos[i]);
    }
    for (int i = 0; i < neg.size(); i++) {
        pq.push(neg[i]);
    }

    for (int i = 0; i < K; i++) {
        int mn = pq.top();
        pq.pop();
        pq.push(mn + 1);
    }

    while (!pq.empty()) {
        int mn = pq.top();
        if (mn < 0) {
            cout << "-1\n";
            exit(0);
        }
        pq.pop();
        result *= mn;
    }

    cout << result << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base2/50
1Hibás válasz0/01ms320 KiB
2Hibás válasz0/01ms320 KiB
3Hibás válasz0/01ms320 KiB
4Hibás válasz0/01ms320 KiB
5Hibás válasz0/03ms320 KiB
6Hibás válasz0/21ms320 KiB
7Hibás válasz0/21ms320 KiB
8Hibás válasz0/21ms320 KiB
9Hibás válasz0/21ms320 KiB
10Hibás válasz0/24ms568 KiB
11Hibás válasz0/245ms1456 KiB
12Hibás válasz0/150ms1368 KiB
13Hibás válasz0/11ms320 KiB
14Hibás válasz0/14ms568 KiB
15Hibás válasz0/119ms900 KiB
16Hibás válasz0/121ms1060 KiB
17Hibás válasz0/123ms948 KiB
18Hibás válasz0/110ms948 KiB
19Hibás válasz0/143ms1452 KiB
20Hibás válasz0/132ms1456 KiB
21Hibás válasz0/163ms1452 KiB
22Hibás válasz0/126ms1324 KiB
23Hibás válasz0/157ms1120 KiB
24Hibás válasz0/150ms1512 KiB
25Hibás válasz0/21ms320 KiB
26Hibás válasz0/24ms520 KiB
27Hibás válasz0/230ms1060 KiB
28Hibás válasz0/132ms832 KiB
29Elfogadva2/218ms988 KiB
30Hibás válasz0/163ms1316 KiB
31Hibás válasz0/135ms1452 KiB
32Hibás válasz0/21ms320 KiB
33Hibás válasz0/261ms1456 KiB
34Hibás válasz0/161ms1472 KiB
35Hibás válasz0/263ms1400 KiB
36Hibás válasz0/263ms1500 KiB
37Hibás válasz0/261ms1460 KiB
38Hibás válasz0/263ms1500 KiB
39Hibás válasz0/11ms320 KiB