152382025-02-17 12:31:51tamasnagyMaximális szorzat (50 pont)cpp17Időlimit túllépés 1/50600ms724 KiB
#include <iostream>
using namespace std;
int a[100001];

int minkeres(int n) {
    int mini = a[0];
    int minin = 0;
    for (int i = 1; i < n; i++) {
        if (a[i] < mini) {
            mini = a[i];
            minin = i;
        }
    }
    return minin;
}
int minkeres0(int n) {
    int mini = 1000000000;
    int minin = 0;
    for (int i = 0; i < n; i++) {
        if (a[i] < mini && a[i]>=0) {
            mini = a[i];
            minin = i;
        }
    }
    return minin;
}
int main()
{
    int n, k, b;
    cin >> n >> k >> b;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    int db=0;
    for (int i = 0; i < n; i++) {
        if (a[i] < 0) {
            db++;
        }
    }
    while (b < db) {
        int minindex=minkeres(n);
        k -= abs(a[minindex]);
        a[minindex] = 0;
        db--;
    }
    while (k) {
        int x = minkeres0(n);
        k-=2;
        a[x]+=2;
    }
    int s=1;
    for (int i = 0; i < n; i++) {
        s *= a[i];
    }
    if (db > b+1) {
        cout << -1;
    }
    else cout << s;

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base1/50
1Időlimit túllépés0/0580ms316 KiB
2Időlimit túllépés0/0580ms316 KiB
3Időlimit túllépés0/0582ms316 KiB
4Időlimit túllépés0/0582ms316 KiB
5Időlimit túllépés0/0577ms316 KiB
6Időlimit túllépés0/2575ms508 KiB
7Hibás válasz0/21ms316 KiB
8Időlimit túllépés0/2575ms316 KiB
9Időlimit túllépés0/2600ms316 KiB
10Hibás válasz0/2100ms448 KiB
11Időlimit túllépés0/2587ms552 KiB
12Időlimit túllépés0/1587ms564 KiB
13Időlimit túllépés0/1600ms316 KiB
14Időlimit túllépés0/1579ms504 KiB
15Időlimit túllépés0/1583ms564 KiB
16Időlimit túllépés0/1583ms564 KiB
17Időlimit túllépés0/1600ms464 KiB
18Elfogadva1/18ms564 KiB
19Időlimit túllépés0/1584ms564 KiB
20Időlimit túllépés0/1579ms564 KiB
21Időlimit túllépés0/1580ms564 KiB
22Időlimit túllépés0/1600ms564 KiB
23Időlimit túllépés0/1589ms564 KiB
24Időlimit túllépés0/1592ms568 KiB
25Hibás válasz0/22ms508 KiB
26Időlimit túllépés0/2600ms316 KiB
27Időlimit túllépés0/2600ms564 KiB
28Időlimit túllépés0/1587ms564 KiB
29Időlimit túllépés0/2586ms564 KiB
30Időlimit túllépés0/1598ms568 KiB
31Időlimit túllépés0/1600ms564 KiB
32Hibás válasz0/2101ms316 KiB
33Időlimit túllépés0/2586ms548 KiB
34Időlimit túllépés0/1586ms564 KiB
35Időlimit túllépés0/2600ms664 KiB
36Időlimit túllépés0/2600ms724 KiB
37Időlimit túllépés0/2587ms564 KiB
38Időlimit túllépés0/2588ms564 KiB
39Időlimit túllépés0/1600ms316 KiB