234382026-01-22 21:25:44Pedri26Maximális szorzat (50 pont)cpp17Wrong answer 43/5054ms956 KiB
#include <bits/stdc++.h>

using namespace std;
int n, m, k, negsz, legnneg=INT_MIN, legnnegssz, a[100001];


int main() {
	
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>n>>m>>k;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        if(a[i]<0)negsz++;
    }
    sort(a+1, a+n+1);
    
    while(negsz>k && m>0)
    {
        while(a[negsz]<0 && m>0)
        {
            a[negsz]++;
            m--;
        }
        if(a[negsz]>=0)negsz--;
    }
    if(negsz==k)
    {
    int i=negsz+1;
    while(m>0)
    {
        i=negsz+1;
        while(a[i]==a[i+1] && i<n)i++;
        a[i]++;
        m--;
    }
    long long s=1;
    long long mod=1000000007;
    for(int i=1;i<=n;i++)
    {
        if(a[i]<0)a[i]*=-1;
        s=((s%mod)*(a[i]%mod))%mod;
    }
    cout<<s;
    }else cout<<"-1";
    
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base43/50
1Accepted0/01ms508 KiB
2Accepted0/01ms316 KiB
3Accepted0/01ms316 KiB
4Accepted0/01ms328 KiB
5Accepted0/04ms616 KiB
6Accepted2/21ms500 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted2/21ms316 KiB
10Accepted2/23ms332 KiB
11Accepted2/227ms824 KiB
12Accepted1/127ms748 KiB
13Accepted1/12ms500 KiB
14Accepted1/16ms480 KiB
15Accepted1/112ms632 KiB
16Accepted1/154ms632 KiB
17Accepted1/112ms636 KiB
18Accepted1/16ms776 KiB
19Wrong answer0/123ms564 KiB
20Wrong answer0/117ms692 KiB
21Wrong answer0/128ms816 KiB
22Wrong answer0/113ms720 KiB
23Accepted1/128ms564 KiB
24Accepted1/127ms956 KiB
25Accepted2/21ms316 KiB
26Accepted2/23ms384 KiB
27Wrong answer0/214ms464 KiB
28Wrong answer0/114ms508 KiB
29Accepted2/212ms564 KiB
30Accepted1/128ms704 KiB
31Accepted1/121ms648 KiB
32Accepted2/21ms316 KiB
33Accepted2/228ms688 KiB
34Accepted1/128ms672 KiB
35Accepted2/228ms696 KiB
36Accepted2/228ms712 KiB
37Accepted2/228ms816 KiB
38Accepted2/228ms636 KiB
39Accepted1/11ms316 KiB