146212025-01-20 22:34:07feheristvanMaximális szorzat (50 pont)cpp17Hibás válasz 6/50600ms964 KiB
#include <iostream>
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, k, b, neg = 0, leg_neg = INT_MIN;
    vector <int> a;
    cin >> n >> k >> b;
    a.resize(n);
    for(int i = 0 ; i < n ; i ++ ){
        cin >> a[i];
        if(a[i] < 0){
            neg ++;
           // if(a[i] > leg_neg)
             //   leg_neg = i;
        }
    }
    sort(a.begin(), a.end());
    if(b - neg > 0){
        cout << -1;
        return 0;
    }
    else if(b - neg != 0){
        int i = n - 1;
        while(b != neg){
            while(i >= 0 and a[i] >= 0){
                i --;
            }
            while(k > 0 and a[i] < 0){
                a[i] ++;
                k --;
            }
            if(k == 0 and a[i] < 0){
                cout << -1;
                return 0;
            }
            neg --;
        }
        if(b % 2 != 0){
            cout << 0;
            return 0;
        }
        while(a[i] < 0)
                i ++;
        while(k != 0){
            a[i] ++;
            k --;
            sort(a.begin(), a.end());
        }
        int szor = 1;
        for(auto i : a)
            szor *= i;
        cout << szor;
    }
    else{
        if(b % 2 == 0){
            int i = 0;
            while(a[i] < 0)
                i ++;
            while(k != 0){
                a[i] ++;
                k --;
                sort(a.begin(), a.end());
                }
            int szor = 1;
            for(auto i : a)
                szor *= i;
            cout << szor;
        }
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base6/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms508 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva0/01ms316 KiB
5Hibás válasz0/0476ms436 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms396 KiB
9Hibás válasz0/218ms316 KiB
10Időlimit túllépés0/2598ms380 KiB
11Időlimit túllépés0/2600ms804 KiB
12Időlimit túllépés0/1600ms564 KiB
13Hibás válasz0/146ms316 KiB
14Időlimit túllépés0/1584ms316 KiB
15Elfogadva1/120ms756 KiB
16Időlimit túllépés0/1589ms564 KiB
17Elfogadva1/121ms564 KiB
18Elfogadva1/19ms564 KiB
19Időlimit túllépés0/1600ms964 KiB
20Időlimit túllépés0/1600ms588 KiB
21Időlimit túllépés0/1577ms564 KiB
22Időlimit túllépés0/1584ms564 KiB
23Időlimit túllépés0/1587ms756 KiB
24Időlimit túllépés0/1588ms564 KiB
25Hibás válasz0/217ms316 KiB
26Időlimit túllépés0/2583ms316 KiB
27Időlimit túllépés0/2600ms564 KiB
28Időlimit túllépés0/1583ms756 KiB
29Elfogadva2/223ms564 KiB
30Időlimit túllépés0/1600ms564 KiB
31Elfogadva1/143ms564 KiB
32Időlimit túllépés0/2582ms316 KiB
33Időlimit túllépés0/2579ms564 KiB
34Időlimit túllépés0/1600ms564 KiB
35Időlimit túllépés0/2580ms568 KiB
36Időlimit túllépés0/2582ms564 KiB
37Időlimit túllépés0/2586ms564 KiB
38Időlimit túllépés0/2586ms568 KiB
39Hibás válasz0/1101ms316 KiB