170992025-05-22 17:11:17ercseferencMaximális szorzat (50 pont)cpp17Runtime error 43/5061ms1012 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n,b; long long k; //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());
    if(b!=0 && a[b-1]>=0){cout<<-1; return 0;}
    long long s=0,t=b;
    while(k>s+(a[t]-a[t-1])*(t-b) && t<n){
        s+=(a[t]-a[t-1])*(t-b);
        t++;}
    for(int i=b; i<t; i++)a[i]=a[t-1];
    k-=s;
    for(int i=b; i<t; i++)a[i]+=k/(t-b);
    k=k%(t-b);
    for(int i=b; i<b+k; i++)a[i]++;
    s=1; int mod=1000000007;
    for(int i=0; i<n; i++)s=(s*a[i])%mod;
    if(a[b]>=0)cout<<s;
    else cout<<-1;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base43/50
1Accepted0/01ms508 KiB
2Accepted0/01ms316 KiB
3Accepted0/01ms316 KiB
4Accepted0/01ms316 KiB
5Accepted0/04ms436 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms404 KiB
8Accepted2/21ms316 KiB
9Accepted2/21ms404 KiB
10Accepted2/24ms436 KiB
11Accepted2/254ms564 KiB
12Accepted1/157ms564 KiB
13Accepted1/11ms376 KiB
14Accepted1/14ms500 KiB
15Accepted1/120ms604 KiB
16Accepted1/123ms564 KiB
17Accepted1/121ms1012 KiB
18Accepted1/110ms564 KiB
19Runtime error0/143ms800 KiB
20Runtime error0/130ms800 KiB
21Runtime error0/161ms800 KiB
22Runtime error0/125ms804 KiB
23Accepted1/161ms564 KiB
24Accepted1/159ms800 KiB
25Accepted2/21ms316 KiB
26Accepted2/24ms316 KiB
27Runtime error0/230ms612 KiB
28Runtime error0/130ms564 KiB
29Accepted2/224ms800 KiB
30Accepted1/161ms792 KiB
31Accepted1/143ms564 KiB
32Accepted2/21ms316 KiB
33Accepted2/261ms564 KiB
34Accepted1/161ms564 KiB
35Accepted2/261ms564 KiB
36Accepted2/261ms796 KiB
37Accepted2/261ms988 KiB
38Accepted2/261ms796 KiB
39Accepted1/11ms508 KiB