148562025-02-04 18:20:45horkaMaximális szorzat (50 pont)cpp17Hibás válasz 43/5046ms2960 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int MOD=1e9+7;
signed main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int n,k,b; cin>>n>>k>>b;
    vector<int> pos,neg;
    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";
        return 0;
    }
    sort(neg.begin(),neg.end());
    int op=0;
    priority_queue<int> q;
    for(int &i:pos)
        q.push(-i);
    for(int i=b; i<neg.size(); i++)
    {
        op+=abs(neg[i]);
        q.push(0);
    }
    if(op>k)
    {
        cout<<"-1\n";
        return 0;
    }
    k-=op;
    if(b!=n){
    while(k--)
    {
        int x=q.top();
        q.pop();
        x=abs(x);
        x++;
        q.push(-x);
    }
    }
    int ans=1;
    while(!q.empty())
    {
        int x=q.top();
        q.pop();
        x=abs(x);
        ans=ans*x%MOD;
    }
    for(int i=0; i<b; i++)
        ans=ans*abs(neg[i])%MOD;
    cout<<ans<<"\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base43/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva0/01ms316 KiB
5Elfogadva0/04ms564 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/24ms576 KiB
11Elfogadva2/241ms2728 KiB
12Elfogadva1/145ms2680 KiB
13Elfogadva1/11ms316 KiB
14Elfogadva1/14ms564 KiB
15Elfogadva1/19ms1088 KiB
16Elfogadva1/125ms1200 KiB
17Elfogadva1/110ms948 KiB
18Elfogadva1/17ms1456 KiB
19Hibás válasz0/123ms1456 KiB
20Hibás válasz0/117ms1352 KiB
21Hibás válasz0/128ms1392 KiB
22Hibás válasz0/113ms1508 KiB
23Elfogadva1/141ms1864 KiB
24Elfogadva1/146ms2960 KiB
25Elfogadva2/21ms316 KiB
26Elfogadva2/23ms564 KiB
27Hibás válasz0/214ms920 KiB
28Hibás válasz0/114ms948 KiB
29Elfogadva2/27ms1012 KiB
30Elfogadva1/128ms1556 KiB
31Elfogadva1/116ms2704 KiB
32Elfogadva2/22ms436 KiB
33Elfogadva2/229ms1492 KiB
34Elfogadva1/130ms1476 KiB
35Elfogadva2/232ms1384 KiB
36Elfogadva2/228ms1344 KiB
37Elfogadva2/228ms1508 KiB
38Elfogadva2/228ms1456 KiB
39Elfogadva1/12ms420 KiB