234372026-01-22 21:11:27Pedri26Maximális szorzat (50 pont)cpp17Hibás válasz 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base43/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva0/01ms316 KiB
5Elfogadva0/04ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/23ms316 KiB
11Elfogadva2/225ms820 KiB
12Elfogadva1/125ms820 KiB
13Elfogadva1/11ms508 KiB
14Elfogadva1/17ms476 KiB
15Elfogadva1/110ms564 KiB
16Elfogadva1/165ms636 KiB
17Elfogadva1/110ms564 KiB
18Elfogadva1/14ms468 KiB
19Hibás válasz0/119ms736 KiB
20Hibás válasz0/114ms836 KiB
21Hibás válasz0/126ms800 KiB
22Hibás válasz0/112ms712 KiB
23Elfogadva1/126ms576 KiB
24Elfogadva1/125ms816 KiB
25Elfogadva2/22ms316 KiB
26Elfogadva2/23ms316 KiB
27Hibás válasz0/213ms632 KiB
28Hibás válasz0/113ms564 KiB
29Elfogadva2/210ms632 KiB
30Elfogadva1/126ms820 KiB
31Elfogadva1/119ms564 KiB
32Elfogadva2/21ms316 KiB
33Elfogadva2/226ms820 KiB
34Elfogadva1/126ms820 KiB
35Elfogadva2/226ms564 KiB
36Elfogadva2/226ms816 KiB
37Elfogadva2/226ms692 KiB
38Elfogadva2/225ms656 KiB
39Elfogadva1/12ms316 KiB