136042025-01-08 11:16:51ercseferencMaximális szorzat (50 pont)cpp17Időlimit túllépés 41/50600ms1136 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    long long n,k,b;
    cin>>n>>k>>b; vector<int>a(n);
    a.push_back(2147483647);
    for(int i=0; i<n; i++){cin>>a[i];}
    sort(a.begin(),a.end());
    long long p=b,s=0,mod=1000000007;
    while(a[p]<0 && p<n){s+=a[p]; a[p]=0; p++;}
    k+=s;
    if(k>=0){
        while(k>0)
            {for(int i=b; i<n; i++)
                {if(a[i]!=a[i+1]){a[i]++; k--; 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/01ms500 KiB
4Elfogadva0/01ms316 KiB
5Elfogadva0/04ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/24ms316 KiB
11Elfogadva2/254ms1076 KiB
12Elfogadva1/157ms1076 KiB
13Elfogadva1/11ms316 KiB
14Elfogadva1/18ms484 KiB
15Elfogadva1/121ms612 KiB
16Elfogadva1/163ms612 KiB
17Elfogadva1/120ms564 KiB
18Elfogadva1/110ms564 KiB
19Időlimit túllépés0/1600ms1076 KiB
20Időlimit túllépés0/1600ms1076 KiB
21Időlimit túllépés0/1600ms1076 KiB
22Időlimit túllépés0/1600ms1076 KiB
23Elfogadva1/161ms1076 KiB
24Elfogadva1/157ms1076 KiB
25Elfogadva2/21ms316 KiB
26Elfogadva2/26ms316 KiB
27Időlimit túllépés0/2600ms564 KiB
28Időlimit túllépés0/1600ms564 KiB
29Hibás válasz0/225ms564 KiB
30Elfogadva1/161ms1076 KiB
31Elfogadva1/143ms1076 KiB
32Elfogadva2/22ms316 KiB
33Elfogadva2/261ms1076 KiB
34Elfogadva1/161ms1100 KiB
35Elfogadva2/261ms1076 KiB
36Elfogadva2/261ms1076 KiB
37Elfogadva2/261ms1076 KiB
38Elfogadva2/268ms1136 KiB
39Elfogadva1/11ms316 KiB