171192025-05-23 18:05:50ercseferencMaximális szorzat (50 pont)cpp17Wrong answer 44/5059ms804 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;
    if(n!=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]++;
        if(a[b]<0){cout<<-1; return 0;}}
    else{
        if(a[1]-a[0]<k){
            int r=1;
            while(k-r*(a[r]-a[r-1])>=0 && r<n-1){
                k-=r*(a[r]-a[r-1]); r++;}
            for(int i=0; i<r; i++)a[i]=a[r];
            for(int i=0; i<=r; i++)a[i]+=k/(r+1);
            k=k%(r+1);
            for(int i=0; i<k; i++)a[i]++;}
        else a[0]+=k;
        for(int i=0; i<n; i++)
            if(a[i]>=0){cout<<-1; return 0;}}
    s=1; int mod=1000000007;
    for(int i=0; i<n; i++)s=(s*a[i])%mod;
    cout<<s;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base44/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted0/01ms316 KiB
4Accepted0/01ms316 KiB
5Accepted0/04ms432 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted2/21ms316 KiB
10Accepted2/24ms432 KiB
11Accepted2/252ms796 KiB
12Accepted1/154ms800 KiB
13Accepted1/11ms404 KiB
14Accepted1/14ms316 KiB
15Accepted1/119ms564 KiB
16Accepted1/120ms564 KiB
17Accepted1/119ms564 KiB
18Accepted1/19ms608 KiB
19Wrong answer0/141ms564 KiB
20Wrong answer0/129ms564 KiB
21Wrong answer0/159ms564 KiB
22Accepted1/123ms564 KiB
23Accepted1/157ms564 KiB
24Accepted1/156ms564 KiB
25Accepted2/21ms316 KiB
26Accepted2/24ms388 KiB
27Wrong answer0/228ms564 KiB
28Wrong answer0/128ms564 KiB
29Accepted2/223ms564 KiB
30Accepted1/157ms564 KiB
31Accepted1/141ms804 KiB
32Accepted2/21ms508 KiB
33Accepted2/259ms564 KiB
34Accepted1/157ms796 KiB
35Accepted2/257ms564 KiB
36Accepted2/259ms564 KiB
37Accepted2/257ms796 KiB
38Accepted2/259ms564 KiB
39Accepted1/11ms316 KiB