234372026-01-22 21:11:27Pedri26Maximális szorzat (50 pont)cpp17Wrong answer 43/5065ms836 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=pow(10, 9)+7;
    for(int i=1;i<=n;i++)
    {
        s=((s%mod)*(a[i]%mod))%mod;
    }
    cout<<s;
    }else cout<<"-1";
    
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base43/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted0/01ms316 KiB
4Accepted0/01ms316 KiB
5Accepted0/04ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted2/21ms316 KiB
10Accepted2/23ms316 KiB
11Accepted2/225ms820 KiB
12Accepted1/125ms820 KiB
13Accepted1/11ms508 KiB
14Accepted1/17ms476 KiB
15Accepted1/110ms564 KiB
16Accepted1/165ms636 KiB
17Accepted1/110ms564 KiB
18Accepted1/14ms468 KiB
19Wrong answer0/119ms736 KiB
20Wrong answer0/114ms836 KiB
21Wrong answer0/126ms800 KiB
22Wrong answer0/112ms712 KiB
23Accepted1/126ms576 KiB
24Accepted1/125ms816 KiB
25Accepted2/22ms316 KiB
26Accepted2/23ms316 KiB
27Wrong answer0/213ms632 KiB
28Wrong answer0/113ms564 KiB
29Accepted2/210ms632 KiB
30Accepted1/126ms820 KiB
31Accepted1/119ms564 KiB
32Accepted2/21ms316 KiB
33Accepted2/226ms820 KiB
34Accepted1/126ms820 KiB
35Accepted2/226ms564 KiB
36Accepted2/226ms816 KiB
37Accepted2/226ms692 KiB
38Accepted2/225ms656 KiB
39Accepted1/12ms316 KiB