152342025-02-17 12:25:37tamasnagyMaximális szorzat (50 pont)cpp17Hibás válasz 0/50600ms768 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--;
        a[x]++;
    }
    int s=1;
    for (int i = 0; i < n; i++) {
        s *= a[i];
    }
    for (int i = 0; i < n; i++) {
        cout << a[i] << ' ';
    }
    if (db > b+1) {
        cout << -1;
    }
    else cout << s;

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/01ms508 KiB
3Hibás válasz0/01ms500 KiB
4Hibás válasz0/01ms316 KiB
5Időlimit túllépés0/0598ms508 KiB
6Hibás válasz0/21ms328 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/23ms316 KiB
10Hibás válasz0/2196ms444 KiB
11Időlimit túllépés0/2600ms580 KiB
12Időlimit túllépés0/1600ms668 KiB
13Időlimit túllépés0/1583ms316 KiB
14Időlimit túllépés0/1582ms316 KiB
15Időlimit túllépés0/1600ms564 KiB
16Időlimit túllépés0/1600ms516 KiB
17Időlimit túllépés0/1586ms564 KiB
18Hibás válasz0/113ms564 KiB
19Időlimit túllépés0/1600ms560 KiB
20Időlimit túllépés0/1600ms564 KiB
21Időlimit túllépés0/1600ms568 KiB
22Időlimit túllépés0/1582ms568 KiB
23Időlimit túllépés0/1583ms748 KiB
24Időlimit túllépés0/1586ms560 KiB
25Hibás válasz0/24ms316 KiB
26Időlimit túllépés0/2600ms416 KiB
27Időlimit túllépés0/2592ms380 KiB
28Időlimit túllépés0/1584ms564 KiB
29Időlimit túllépés0/2586ms564 KiB
30Időlimit túllépés0/1600ms612 KiB
31Időlimit túllépés0/1587ms564 KiB
32Hibás válasz0/2201ms500 KiB
33Időlimit túllépés0/2588ms712 KiB
34Időlimit túllépés0/1600ms752 KiB
35Időlimit túllépés0/2575ms564 KiB
36Időlimit túllépés0/2600ms768 KiB
37Időlimit túllépés0/2579ms748 KiB
38Időlimit túllépés0/2587ms740 KiB
39Hibás válasz0/121ms404 KiB