142382025-01-10 10:19:37TundeMaximális szorzat (50 pont)cpp17Időlimit túllépés 3/50600ms780 KiB
#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    int n, k, b, db=0, 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);
        int i=0;
        while(db!=b && i<k)
        {
            while(t[db]>=0)
            {
                db--;
            }
            if(db%2==0)  //paratlan
            {
                while(t[db]<0 && i<k)
                {
                    ++t[db];
                    ++i;
                }
            }
            else  //paros
            {
                if((t[db]+t[db-1])*(-1)>=k-i)
                {
                    t[db]=1;
                    t[db-1]=1;
                    i-=t[db];
                    i-=t[db-1];
                    db-=2;
                }
            }
        }
        while(i<k)
        {
            t[b]++;
            sort(t+b, t+n);
            i++;
        }
        for(int i=0; i<n; i++)
        {
            szor*=t[i];
        }
        cout << szor;
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base3/50
1Elfogadva0/01ms500 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva0/01ms316 KiB
5Időlimit túllépés0/0600ms316 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/221ms316 KiB
10Időlimit túllépés0/2600ms316 KiB
11Időlimit túllépés0/2598ms652 KiB
12Időlimit túllépés0/1600ms564 KiB
13Időlimit túllépés0/1580ms316 KiB
14Időlimit túllépés0/1600ms316 KiB
15Időlimit túllépés0/1600ms516 KiB
16Időlimit túllépés0/1580ms564 KiB
17Hibás válasz0/120ms604 KiB
18Elfogadva1/110ms460 KiB
19Hibás válasz0/141ms620 KiB
20Hibás válasz0/129ms780 KiB
21Hibás válasz0/157ms668 KiB
22Hibás válasz0/124ms660 KiB
23Időlimit túllépés0/1600ms688 KiB
24Időlimit túllépés0/1600ms772 KiB
25Hibás válasz0/27ms316 KiB
26Hibás válasz0/210ms508 KiB
27Hibás válasz0/229ms448 KiB
28Hibás válasz0/129ms500 KiB
29Elfogadva2/217ms408 KiB
30Hibás válasz0/159ms740 KiB
31Hibás válasz0/145ms548 KiB
32Hibás válasz0/23ms316 KiB
33Hibás válasz0/259ms772 KiB
34Hibás válasz0/163ms756 KiB
35Hibás válasz0/2163ms564 KiB
36Hibás válasz0/263ms548 KiB
37Hibás válasz0/259ms564 KiB
38Hibás válasz0/259ms564 KiB
39Hibás válasz0/13ms316 KiB