136752025-01-08 12:33:21ercseferencMaximális szorzat (50 pont)cpp17Hibás válasz 41/5059ms1080 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    long long n,k,b; //ifstream f("szamok.txt");
    cin>>n>>k>>b; vector<int>a(n);
    for(int i=0; i<n; i++){cin>>a[i];}
    sort(a.begin(),a.end());
    a.push_back(2147483647);
    long long p=b,s=0,mod=1000000007;
    while(a[p]<0 && p<n){s+=a[p]; a[p]=0; p++;}
    k+=s; int maxind=b;
    if(k>=0){
        while(k>0){
            p=maxind;
            while(a[p]==a[p+1] && p<n){p++;}
            maxind=p;
            for(int i=maxind; i>=b; i--){a[i]++; k--;
                if(k==0)break;}}
        p=1;
        for(int i=0; i<n; i++){p=p*a[i]%mod;}
        cout<<p<<endl;}
    else cout<<-1<<endl;
    return 0;
}

RészfeladatÖsszpontTesztVerdiktIdőMemória
base41/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva0/01ms316 KiB
5Elfogadva0/04ms436 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/24ms432 KiB
11Elfogadva2/252ms1056 KiB
12Elfogadva1/156ms1056 KiB
13Elfogadva1/11ms316 KiB
14Elfogadva1/14ms316 KiB
15Elfogadva1/120ms604 KiB
16Elfogadva1/121ms608 KiB
17Elfogadva1/120ms612 KiB
18Elfogadva1/110ms612 KiB
19Hibás válasz0/141ms1060 KiB
20Hibás válasz0/130ms1060 KiB
21Hibás válasz0/159ms1080 KiB
22Hibás válasz0/125ms1060 KiB
23Elfogadva1/159ms1064 KiB
24Elfogadva1/156ms1052 KiB
25Elfogadva2/21ms316 KiB
26Elfogadva2/24ms340 KiB
27Hibás válasz0/230ms564 KiB
28Hibás válasz0/129ms564 KiB
29Hibás válasz0/224ms608 KiB
30Elfogadva1/159ms1056 KiB
31Elfogadva1/143ms1060 KiB
32Elfogadva2/22ms500 KiB
33Elfogadva2/259ms1052 KiB
34Elfogadva1/159ms1060 KiB
35Elfogadva2/259ms1064 KiB
36Elfogadva2/259ms1060 KiB
37Elfogadva2/259ms1076 KiB
38Elfogadva2/259ms1064 KiB
39Elfogadva1/12ms508 KiB