146312025-01-21 16:09:58mateMaximális szorzat (50 pont)cpp17Wrong answer 8/50298ms1268 KiB
#include <algorithm>
#include <bits/stdc++.h>
#include <iostream>
using namespace std;

const long long MOD = 1000000007;

int main() {
	int n,k,b; cin >> n >> k >> b;
	vector <long long> v(n,0);
	int neg = 0;
	for(int i = 0; i < n; i++){
		cin >> v[i];
		if(v[i] < 0){
			neg++;
		}
	}
	sort(v.begin(),v.end());
	int index = lower_bound(v.begin(),v.end(),0) - v.begin();
	int jindex = index;
	bool vege = 0;
	for(int i = index; k > 0; i--){
		if(neg <= b){
			vege = 1;
			jindex = i;
			break;
		}
		while(v[i] < 0 && k > 0){
			v[i]++;
			k--;
		}
		neg--;
		
	}

	if(!vege){
		cout << -1;
		exit(0);
	}
	vege = 0;
	bool ugras = 0;
	int j = jindex + 1;
	while(k > 0){
		for(int i = jindex; i < j; i++){
			while(v[i] < v[j] && k > 0){
				v[i]++;
				k--;
				cerr << v[i] << ' ';
				if(i < n - 1) {
					if(v[i] > v[i+1]){
					i++;
					}
				}else{
					i = jindex;
				}
				
			}
			
			if(k == 0){
				vege = 1;
				break;
			}
			
		}
		if(vege)	break;
		j++;
		//cerr  << '\n';

	}

	long long ans = 1;
	for(int i = 0; i < n; i++){
		ans *= abs(v[i]) % MOD;
		ans %= MOD;
		cerr << v[i] << ' ';
	}
	
	cout << ans;
	
}
SubtaskSumTestVerdictTimeMemory
base8/50
1Accepted0/01ms316 KiB
2Accepted0/01ms500 KiB
3Accepted0/01ms316 KiB
4Accepted0/01ms316 KiB
5Accepted0/014ms472 KiB
6Wrong answer0/21ms316 KiB
7Wrong answer0/21ms316 KiB
8Accepted2/21ms316 KiB
9Wrong answer0/23ms316 KiB
10Wrong answer0/228ms468 KiB
11Wrong answer0/2280ms1196 KiB
12Wrong answer0/1284ms1080 KiB
13Wrong answer0/16ms380 KiB
14Wrong answer0/146ms468 KiB
15Accepted1/120ms564 KiB
16Wrong answer0/1216ms564 KiB
17Accepted1/120ms804 KiB
18Accepted1/148ms564 KiB
19Runtime error0/141ms1076 KiB
20Runtime error0/129ms1196 KiB
21Runtime error0/159ms1080 KiB
22Runtime error0/124ms1192 KiB
23Wrong answer0/1298ms1080 KiB
24Wrong answer0/1291ms1076 KiB
25Accepted2/225ms316 KiB
26Wrong answer0/220ms472 KiB
27Runtime error0/229ms820 KiB
28Runtime error0/128ms824 KiB
29Wrong answer0/2219ms564 KiB
30Runtime error0/159ms1196 KiB
31Accepted1/141ms1204 KiB
32Runtime error0/261ms412 KiB
33Runtime error0/261ms1080 KiB
34Wrong answer0/1293ms1200 KiB
35Wrong answer0/2298ms1080 KiB
36Runtime error0/268ms1080 KiB
37Runtime error0/274ms1268 KiB
38Runtime error0/259ms1076 KiB
39Runtime error0/172ms316 KiB