152872025-02-18 08:39:12gyarturMaximális szorzat (50 pont)cpp17Időlimit túllépés 1/50600ms772 KiB
#include <iostream>
#include <cmath>
#include <algorithm>

using namespace std;

int x[100000];
int n, k, b;

void Beolvas(){
    cin>>n>>k>>b;
    for(int i = 0; i < n; i++)cin>>x[i];
}

int Negativdrb(){
    int drb = 0;
    for(int i = 0; i < n; i++){
        if(x[i] < 0)drb++;
    }
    return drb;
}

void Lepes(){
    sort(x, x+n);
    if(Negativdrb() > b){
        ++*(upper_bound(x, x+n, 0)-1);
        return;
    }
    ++*upper_bound(x, x+n, -1);
}

int main(){
    Beolvas();
    while(k > 0){
        Lepes();
        k--;
    }
    int p = 1;
    for(int i = 0; i < n; i++){
        p *= x[i];
    }
    cout<<p;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base1/50
1Elfogadva0/01ms508 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/01ms508 KiB
4Elfogadva0/01ms316 KiB
5Időlimit túllépés0/0600ms444 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/221ms416 KiB
10Időlimit túllépés0/2600ms316 KiB
11Időlimit túllépés0/2598ms772 KiB
12Időlimit túllépés0/1586ms620 KiB
13Hibás válasz0/1300ms404 KiB
14Időlimit túllépés0/1598ms316 KiB
15Időlimit túllépés0/1598ms516 KiB
16Időlimit túllépés0/1589ms564 KiB
17Időlimit túllépés0/1580ms564 KiB
18Elfogadva1/19ms564 KiB
19Időlimit túllépés0/1583ms608 KiB
20Időlimit túllépés0/1600ms604 KiB
21Időlimit túllépés0/1600ms704 KiB
22Időlimit túllépés0/1583ms564 KiB
23Időlimit túllépés0/1583ms564 KiB
24Időlimit túllépés0/1600ms564 KiB
25Hibás válasz0/223ms508 KiB
26Időlimit túllépés0/2580ms316 KiB
27Időlimit túllépés0/2587ms564 KiB
28Időlimit túllépés0/1578ms564 KiB
29Időlimit túllépés0/2600ms416 KiB
30Időlimit túllépés0/1583ms564 KiB
31Hibás válasz0/141ms564 KiB
32Időlimit túllépés0/2583ms316 KiB
33Időlimit túllépés0/2583ms564 KiB
34Időlimit túllépés0/1575ms564 KiB
35Időlimit túllépés0/2573ms564 KiB
36Időlimit túllépés0/2586ms564 KiB
37Időlimit túllépés0/2580ms568 KiB
38Időlimit túllépés0/2587ms576 KiB
39Hibás válasz0/1133ms316 KiB