136232025-01-08 11:29:13ercseferencMaximális szorzat (50 pont)cpp17Időlimit túllépés 41/50600ms812 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);
    //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(i!=n-1 && a[i]!=a[i+1]){a[i]++; k--; break;}
                if(i==n-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/01ms512 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva0/01ms316 KiB
5Elfogadva0/04ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms508 KiB
10Elfogadva2/24ms508 KiB
11Elfogadva2/252ms800 KiB
12Elfogadva1/156ms800 KiB
13Elfogadva1/12ms388 KiB
14Elfogadva1/18ms316 KiB
15Elfogadva1/119ms564 KiB
16Elfogadva1/175ms612 KiB
17Elfogadva1/119ms600 KiB
18Elfogadva1/19ms608 KiB
19Időlimit túllépés0/1600ms564 KiB
20Időlimit túllépés0/1600ms748 KiB
21Időlimit túllépés0/1600ms564 KiB
22Időlimit túllépés0/1600ms564 KiB
23Elfogadva1/159ms564 KiB
24Elfogadva1/156ms564 KiB
25Elfogadva2/21ms316 KiB
26Elfogadva2/26ms540 KiB
27Időlimit túllépés0/2600ms388 KiB
28Időlimit túllépés0/1600ms564 KiB
29Hibás válasz0/224ms608 KiB
30Elfogadva1/159ms808 KiB
31Elfogadva1/141ms812 KiB
32Elfogadva2/22ms316 KiB
33Elfogadva2/259ms804 KiB
34Elfogadva1/159ms796 KiB
35Elfogadva2/259ms756 KiB
36Elfogadva2/259ms808 KiB
37Elfogadva2/259ms760 KiB
38Elfogadva2/259ms804 KiB
39Elfogadva1/11ms500 KiB