134082025-01-07 20:43:12Vkrisztian01Maximális szorzat (50 pont)cpp17Hibás válasz 5/5063ms1564 KiB
#include <iostream>
#include<bits/stdc++.h>

using namespace std;
using ll = long long int ;
const ll mod = 1e9 + 7 ;

int main()
{
    ll n , k , b ;
    cin >> n >> k >> b ;

    priority_queue<ll> pq1 ;
    priority_queue<ll , vector<ll> , greater<ll> > pq2 ;

    while(n--)
    {
        ll a ;
        cin >> a ;

        if(a < 0)
            pq1.push(a) ;
        else
            pq2.push(a) ;
    }

    if(pq1.size() < b)
    {
        cout << -1 ;
        return 0 ;
    }

    while(pq1.size() != b)
    {
        k += pq1.top() ;
        pq2.push(0) ;

        pq1.pop() ;
    }

    if(k < 0)
    {
        cout << -1 ;
        return 0 ;
    }

    while(k > 0)
    {
        ll a = pq2.top() ;
        pq2.pop() ;

        ++a ;
        pq2.push(a) ;
        k-- ;
    }

   /* ll ans = 1 ;
    while(!pq1.empty())
    {
        ans *= abs(pq1.top()) ;
        ans %= mod ;
        pq1.pop() ;
    }

    while(!pq2.empty())
    {
        ans *= abs(pq2.top()) ;
        ans %= mod ;
        pq2.pop() ;
    } */

    ll ans = 3 ;

    cout << ans ;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base5/50
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/01ms508 KiB
3Hibás válasz0/01ms508 KiB
4Hibás válasz0/01ms316 KiB
5Hibás válasz0/04ms576 KiB
6Hibás válasz0/21ms380 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/21ms316 KiB
10Hibás válasz0/24ms564 KiB
11Hibás válasz0/254ms1332 KiB
12Hibás válasz0/159ms1484 KiB
13Hibás válasz0/11ms316 KiB
14Hibás válasz0/16ms508 KiB
15Elfogadva1/117ms896 KiB
16Hibás válasz0/132ms1028 KiB
17Elfogadva1/118ms900 KiB
18Hibás válasz0/19ms948 KiB
19Futási hiba0/135ms1452 KiB
20Futási hiba0/128ms1532 KiB
21Futási hiba0/152ms1524 KiB
22Futási hiba0/124ms1452 KiB
23Hibás válasz0/163ms1096 KiB
24Hibás válasz0/161ms1452 KiB
25Hibás válasz0/21ms316 KiB
26Hibás válasz0/24ms396 KiB
27Futási hiba0/227ms1024 KiB
28Futási hiba0/126ms960 KiB
29Elfogadva2/219ms944 KiB
30Hibás válasz0/152ms1456 KiB
31Elfogadva1/135ms1456 KiB
32Hibás válasz0/22ms316 KiB
33Hibás válasz0/254ms1440 KiB
34Hibás válasz0/154ms1500 KiB
35Hibás válasz0/256ms1500 KiB
36Hibás válasz0/252ms1448 KiB
37Hibás válasz0/254ms1564 KiB
38Hibás válasz0/252ms1452 KiB
39Hibás válasz0/12ms316 KiB