147172025-01-29 12:57:29markfsibianMaximális szorzat (50 pont)cpp17Hibás válasz 0/50600ms1860 KiB
#include <iostream>
#include <climits>

using namespace std;

int neg, n, up, v[100001];


int main()
{
    cin >> n >> up >> neg;
    int mini = INT_MAX, t, ind, negs = 0, z = 0;
    for (int i = 1; i <= n; ++i)
    {

        cin >> t;
        if (t < mini && t > 0)
        {
            mini = t;
            ind = i;
        }
        if (t < 0)
            negs++;
        if (t == 0)
            z++;
        v[i] = t;
    }

    int negmaxi, negind;
    while (negs > neg)
    {
        negmaxi = INT_MIN;
        for (int i = 1; i <= n; ++i)
        {
            if (v[i] > negmaxi && v[i] < 0)
            {
                negind = i;
                negmaxi = v[i];
            }
        }
        v[negind] = v[negind] + up;
        up = 0;
        if (v[negind] - 1 > 0)
        {
            up = v[negind] - 1;
            v[negind] = 1;
        }
        negs--;
    }

    while (z > 0)
    {
        for (int i = 1; i <= n; ++i)
            if (v[i] == 0 && up > 0)
            {
                v[i] = 1;
                up--;
                z--;
            }
    }

    for (int i = 1; i <= n; ++i)
        cout << v[i] << " ";
    cout << endl;
    cout << up << endl;

}

RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/01ms508 KiB
3Hibás válasz0/01ms316 KiB
4Hibás válasz0/01ms512 KiB
5Hibás válasz0/020ms316 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/21ms380 KiB
10Hibás válasz0/26ms412 KiB
11Hibás válasz0/254ms1488 KiB
12Hibás válasz0/157ms1788 KiB
13Hibás válasz0/12ms316 KiB
14Hibás válasz0/110ms316 KiB
15Időlimit túllépés0/1600ms432 KiB
16Hibás válasz0/139ms864 KiB
17Hibás válasz0/1291ms748 KiB
18Időlimit túllépés0/1600ms564 KiB
19Hibás válasz0/143ms1372 KiB
20Hibás válasz0/135ms1112 KiB
21Hibás válasz0/161ms1844 KiB
22Hibás válasz0/130ms1076 KiB
23Hibás válasz0/161ms1588 KiB
24Hibás válasz0/157ms1588 KiB
25Hibás válasz0/21ms316 KiB
26Hibás válasz0/26ms316 KiB
27Hibás válasz0/230ms1016 KiB
28Hibás válasz0/130ms1076 KiB
29Hibás válasz0/225ms800 KiB
30Hibás válasz0/161ms1860 KiB
31Időlimit túllépés0/1579ms688 KiB
32Hibás válasz0/21ms320 KiB
33Hibás válasz0/261ms1848 KiB
34Hibás válasz0/161ms1844 KiB
35Hibás válasz0/261ms1844 KiB
36Hibás válasz0/261ms1820 KiB
37Hibás válasz0/261ms1812 KiB
38Hibás válasz0/261ms1852 KiB
39Hibás válasz0/11ms320 KiB