142402025-01-10 10:22:35BravoMaximális szorzat (50 pont)cpp17Wrong answer 0/50600ms1200 KiB
#include <iostream>
#include <vector>
#include <climits>
#include <algorithm>
using namespace std;

int main()
{
    vector <int> z;
    int n,m,k;
    cin >> n >> m >> k;
    int a[n];
    for(int i=0;i<n;i++){
        cin >> a[i];
    }
    int c,q=0;
    for(int i=0;i<n;i++){
        if(a[i]<0){
            q++;
        }
    }
    if(q==k){
        if(q!=0){
            while(m!=0){
                sort(a,a+n);
                a[q]++;
                m--;
            }
        }
        else{
            while(m!=0){
                sort(a,a+n);
                a[0]++;
                m--;
            }
        }
        int t=1;
        for(int i=0;i<n;i++){
            t=t*a[i];
        }
        cout << t;

    }
    else{
        for(int i=0;i<n;i++){
            if(a[i]<0){
                z.push_back(a[i]);
            }
        }
        while(q!=k){
            int x=z.size();
            int r=INT_MIN,w;
            for(int i=0;i<x;i++){
                if(z[i]>r){
                    r=z[i];
                    w=i;
                }
            }
            z.erase(z.begin() + w);
            for(int i=0;i<n;i++){
                if(a[i]==r){
                    w=i;
                }
            }
            while(r<=0){
                r++;
                m--;
                a[w]++;
                if(m==0){
                    if(q!=k){
                        if(r<0){
                            cout << -1;
                        }
                    }
                }
            }
            q--;
        }
        if(m==0){
            int t=1;
            for(int i=0;i<n;i++){
                t=t*a[i];
            }
            cout << t;
        }
        else{
            while(m!=0){
                sort(a,a+n);
                a[q]++;
                m--;
            }
            int t=1;
            for(int i=0;i<n;i++){
                t=t*a[i];
            }
            cout << t;
        }
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base0/50
1Accepted0/01ms316 KiB
2Accepted0/01ms500 KiB
3Accepted0/01ms508 KiB
4Accepted0/01ms316 KiB
5Wrong answer0/0467ms448 KiB
6Wrong answer0/21ms316 KiB
7Wrong answer0/21ms612 KiB
8Wrong answer0/21ms324 KiB
9Wrong answer0/219ms404 KiB
10Time limit exceeded0/2600ms316 KiB
11Time limit exceeded0/2600ms752 KiB
12Time limit exceeded0/1600ms704 KiB
13Wrong answer0/146ms316 KiB
14Time limit exceeded0/1577ms440 KiB
15Time limit exceeded0/1579ms820 KiB
16Time limit exceeded0/1579ms832 KiB
17Time limit exceeded0/1600ms880 KiB
18Time limit exceeded0/1582ms564 KiB
19Time limit exceeded0/1583ms556 KiB
20Time limit exceeded0/1583ms564 KiB
21Time limit exceeded0/1600ms664 KiB
22Time limit exceeded0/1587ms568 KiB
23Time limit exceeded0/1582ms708 KiB
24Time limit exceeded0/1583ms696 KiB
25Wrong answer0/218ms400 KiB
26Time limit exceeded0/2578ms316 KiB
27Time limit exceeded0/2583ms564 KiB
28Time limit exceeded0/1587ms564 KiB
29Time limit exceeded0/2587ms820 KiB
30Time limit exceeded0/1580ms1200 KiB
31Time limit exceeded0/1578ms564 KiB
32Time limit exceeded0/2586ms316 KiB
33Time limit exceeded0/2587ms1200 KiB
34Time limit exceeded0/1589ms564 KiB
35Time limit exceeded0/2580ms1200 KiB
36Time limit exceeded0/2578ms1200 KiB
37Time limit exceeded0/2578ms1200 KiB
38Time limit exceeded0/2587ms1200 KiB
39Wrong answer0/1108ms500 KiB