155322025-02-20 11:05:04linhnkMaximális szorzat (50 pont)cpp17Hibás válasz 4/5089ms1556 KiB
#include <iostream>
#include <bits/stdc++.h>
#include<queue>

using namespace std;

int main()
{
    int n, k, a, d=1, ne=0, b;
    cin>>n>>k>>b;
    priority_queue <int, vector<int>, greater<int>> kevin;
    priority_queue <int, vector<int>, greater<int>> bence;
    for(int i=0; i<n; i++){
        cin>>a;
        kevin.push(a);
        if(a<0){
            ne++;
        }
    }
    if(ne<b){
        cout<<"-1";
        return 0;
    }
    for(int i=0; i<b; i++){
        bence.push(kevin.top());
        kevin.pop();
        }
    if(kevin.size()==0){
        for(int i=0; i<k; i++){
        bence.push(bence.top()+1);
        if(bence.top()==-1){
            cout<<-1;
            return 0;
        }
        bence.pop();
    }
    }
    for(int i=0; i<k; i++){
        kevin.push(kevin.top()+1);
        kevin.pop();
    }
    while(bence.size()>0){
        d = (d * bence.top())%1000000007;
        bence.pop();
    }
    while(kevin.size()>0){
        d= (d * kevin.top())%1000000007;
        kevin.pop();
    }
    cout<<d;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva0/01ms316 KiB
5Hibás válasz0/06ms428 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms508 KiB
9Hibás válasz0/22ms508 KiB
10Hibás válasz0/27ms500 KiB
11Hibás válasz0/268ms972 KiB
12Hibás válasz0/174ms880 KiB
13Hibás válasz0/12ms316 KiB
14Hibás válasz0/18ms508 KiB
15Hibás válasz0/145ms824 KiB
16Hibás válasz0/146ms944 KiB
17Hibás válasz0/143ms944 KiB
18Elfogadva1/112ms676 KiB
19Hibás válasz0/179ms1536 KiB
20Hibás válasz0/167ms1324 KiB
21Hibás válasz0/189ms1448 KiB
22Elfogadva1/134ms1480 KiB
23Hibás válasz0/182ms1204 KiB
24Hibás válasz0/175ms1036 KiB
25Hibás válasz0/22ms316 KiB
26Hibás válasz0/27ms548 KiB
27Hibás válasz0/250ms896 KiB
28Hibás válasz0/150ms844 KiB
29Elfogadva2/219ms644 KiB
30Hibás válasz0/176ms1556 KiB
31Hibás válasz0/150ms1044 KiB
32Hibás válasz0/22ms316 KiB
33Hibás válasz0/278ms1520 KiB
34Hibás válasz0/179ms1404 KiB
35Hibás válasz0/281ms1452 KiB
36Hibás válasz0/276ms1452 KiB
37Hibás válasz0/276ms1400 KiB
38Hibás válasz0/276ms1448 KiB
39Hibás válasz0/12ms316 KiB