234382026-01-22 21:25:44Pedri26Maximális szorzat (50 pont)cpp17Hibás válasz 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base43/50
1Elfogadva0/01ms508 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva0/01ms328 KiB
5Elfogadva0/04ms616 KiB
6Elfogadva2/21ms500 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/23ms332 KiB
11Elfogadva2/227ms824 KiB
12Elfogadva1/127ms748 KiB
13Elfogadva1/12ms500 KiB
14Elfogadva1/16ms480 KiB
15Elfogadva1/112ms632 KiB
16Elfogadva1/154ms632 KiB
17Elfogadva1/112ms636 KiB
18Elfogadva1/16ms776 KiB
19Hibás válasz0/123ms564 KiB
20Hibás válasz0/117ms692 KiB
21Hibás válasz0/128ms816 KiB
22Hibás válasz0/113ms720 KiB
23Elfogadva1/128ms564 KiB
24Elfogadva1/127ms956 KiB
25Elfogadva2/21ms316 KiB
26Elfogadva2/23ms384 KiB
27Hibás válasz0/214ms464 KiB
28Hibás válasz0/114ms508 KiB
29Elfogadva2/212ms564 KiB
30Elfogadva1/128ms704 KiB
31Elfogadva1/121ms648 KiB
32Elfogadva2/21ms316 KiB
33Elfogadva2/228ms688 KiB
34Elfogadva1/128ms672 KiB
35Elfogadva2/228ms696 KiB
36Elfogadva2/228ms712 KiB
37Elfogadva2/228ms816 KiB
38Elfogadva2/228ms636 KiB
39Elfogadva1/11ms316 KiB