171162025-05-23 17:48:32ercseferencMaximális szorzat (50 pont)cpp17Hibás válasz 43/5061ms820 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+1)*(a[r]-a[r-1])>=0){
                k-=(r+1)*(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;
        if(a[n-1]>=0){cout<<-1; return 0;}}
    s=1; int mod=1000000007;
    for(int i=0; i<n; i++)s=(s*a[i])%mod;
    cout<<endl<<s;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base43/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva0/01ms504 KiB
5Elfogadva0/04ms508 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/24ms380 KiB
11Elfogadva2/254ms804 KiB
12Elfogadva1/157ms564 KiB
13Elfogadva1/11ms316 KiB
14Elfogadva1/14ms316 KiB
15Elfogadva1/121ms564 KiB
16Elfogadva1/123ms604 KiB
17Elfogadva1/121ms600 KiB
18Elfogadva1/110ms608 KiB
19Hibás válasz0/143ms800 KiB
20Hibás válasz0/132ms804 KiB
21Hibás válasz0/161ms564 KiB
22Futási hiba0/125ms820 KiB
23Elfogadva1/161ms564 KiB
24Elfogadva1/157ms800 KiB
25Elfogadva2/21ms316 KiB
26Elfogadva2/24ms436 KiB
27Hibás válasz0/230ms564 KiB
28Hibás válasz0/130ms564 KiB
29Elfogadva2/224ms564 KiB
30Elfogadva1/161ms564 KiB
31Elfogadva1/143ms564 KiB
32Elfogadva2/21ms316 KiB
33Elfogadva2/261ms564 KiB
34Elfogadva1/161ms756 KiB
35Elfogadva2/261ms800 KiB
36Elfogadva2/261ms800 KiB
37Elfogadva2/261ms808 KiB
38Elfogadva2/261ms796 KiB
39Elfogadva1/11ms508 KiB