134042025-01-07 20:31:54Vkrisztian01Maximális szorzat (50 pont)cpp17Futási hiba 43/5076ms1564 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--)
    {
        ll a = pq2.top() ;
        pq2.pop() ;

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

    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() ;
    }

    cout << ans ;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base43/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms512 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva0/01ms316 KiB
5Elfogadva0/04ms520 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms388 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/27ms520 KiB
11Elfogadva2/270ms1564 KiB
12Elfogadva1/175ms1368 KiB
13Elfogadva1/11ms316 KiB
14Elfogadva1/17ms756 KiB
15Elfogadva1/118ms884 KiB
16Elfogadva1/137ms1064 KiB
17Elfogadva1/118ms1016 KiB
18Elfogadva1/112ms1124 KiB
19Futási hiba0/137ms1452 KiB
20Futási hiba0/128ms1344 KiB
21Futási hiba0/154ms1416 KiB
22Futási hiba0/124ms1468 KiB
23Elfogadva1/176ms1096 KiB
24Elfogadva1/175ms1448 KiB
25Elfogadva2/22ms316 KiB
26Elfogadva2/26ms564 KiB
27Futási hiba0/227ms980 KiB
28Futási hiba0/127ms948 KiB
29Elfogadva2/220ms944 KiB
30Elfogadva1/168ms1452 KiB
31Elfogadva1/135ms1452 KiB
32Elfogadva2/22ms500 KiB
33Elfogadva2/270ms1396 KiB
34Elfogadva1/171ms1348 KiB
35Elfogadva2/272ms1484 KiB
36Elfogadva2/268ms1452 KiB
37Elfogadva2/270ms1492 KiB
38Elfogadva2/270ms1488 KiB
39Elfogadva1/12ms316 KiB