142762025-01-10 11:28:38TundeMaximális szorzat (50 pont)cpp17Time limit exceeded 6/50600ms784 KiB
#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    long long n, k, b, db=0;
    long long szor=1;
    cin >> n >> k >> b;
    int t[n];
    for(int i=0; i<n; i++)
    {
        cin >> t[i];
        if(t[i]<0)
            ++db;
    }
    if(db<b)
        cout << -1;
    else
    {
        sort(t, t+n);
        long long i=0;
        while(db>b && i<k)
        {
            if(db%2==0)
            {
                if((t[db-1]+t[db-2])+(k-i)>=0)
                {
                    t[db-2]=0;
                    t[db-1]=0;
                    i-=t[db-2];
                    i-=t[db-1];
                    db=db-2;
                }
                else
                    i=k+1;
            }
            else
            {
                if(t[db-1]+k>=0)
                {
                    i-=t[db-1];
                    t[db-1]=0;
                    db--;
                }
                else
                {
                    i=k+1;
                }
            }
        }
        if(db!=b)
            cout << -1;
        else
        {
            while(i<k)
            {
                t[b]++;
                sort(t+b, t+n);
                i++;
            }
            for(int i=0; i<n; i++)
            {
                szor*=t[i];
                if(szor==0)
                    break;
            }
            cout << szor%(1000000000+7);
        }
    }
}
SubtaskSumTestVerdictTimeMemory
base6/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted0/01ms316 KiB
4Accepted0/01ms508 KiB
5Time limit exceeded0/0598ms428 KiB
6Accepted2/21ms376 KiB
7Wrong answer0/21ms316 KiB
8Wrong answer0/21ms400 KiB
9Wrong answer0/220ms396 KiB
10Time limit exceeded0/2600ms316 KiB
11Time limit exceeded0/2589ms568 KiB
12Time limit exceeded0/1600ms756 KiB
13Wrong answer0/168ms508 KiB
14Time limit exceeded0/1600ms316 KiB
15Time limit exceeded0/1600ms564 KiB
16Time limit exceeded0/1600ms460 KiB
17Time limit exceeded0/1582ms564 KiB
18Accepted1/19ms624 KiB
19Wrong answer0/141ms720 KiB
20Wrong answer0/130ms564 KiB
21Wrong answer0/159ms532 KiB
22Wrong answer0/125ms676 KiB
23Time limit exceeded0/1598ms564 KiB
24Time limit exceeded0/1600ms528 KiB
25Wrong answer0/27ms508 KiB
26Wrong answer0/210ms316 KiB
27Wrong answer0/228ms544 KiB
28Wrong answer0/128ms432 KiB
29Accepted2/217ms508 KiB
30Wrong answer0/159ms784 KiB
31Accepted1/141ms544 KiB
32Wrong answer0/23ms316 KiB
33Wrong answer0/261ms784 KiB
34Wrong answer0/163ms748 KiB
35Wrong answer0/2158ms752 KiB
36Wrong answer0/259ms756 KiB
37Wrong answer0/259ms656 KiB
38Wrong answer0/259ms748 KiB
39Wrong answer0/13ms316 KiB