138892025-01-09 08:53:23NeMMaximális szorzat (50 pont)cpp17Wrong answer 5/50600ms1720 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, k, b, ln = 0;
	cin >> n >> k >> b;
	vector <int> a (n, INT_MIN);
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}
	sort(a.begin(), a.end());
	a.push_back(INT_MAX);
	for (int i = 0; i < n+1; i++) {
		if (a[i] >= 0) {
			ln = i-1;
			break;
		}
	}
	

	if (ln < b-1) {
		cout << -1;
		return 0;
	}

	while (ln > b-1) {
		if (k == 0) {
			cout << -1;
			return 0;
		}

		if (a[ln] < 0) {
			a[ln]++;
			k--;
		} else {
			ln--;
		}
	}

	if (ln%2 == 0) {
		if ((a[ln]*-1) >= k) {
			k += a[ln];
			a[ln] = 0;
			ln--;
		} else {
			a[0] += k;
			k = 0;
		}
	}

	while (k > 0) {
		int mi = 0, m = INT_MAX;
		for (int i = ln+1; i < n; i++) {
			if (a[i] < m) {
				m = a[i];
				mi = i;
			}
		}

		a[mi]++;
		k--;
	}


	long long c = 1;
	for (int i = 0; i < n; i++) {
		c *= a[i];
		c = c % 1000000007;
		cout << a[i] << ' ';
	}
	cout << endl << c;
	return 0;
}
SubtaskSumTestVerdictTimeMemory
base5/50
1Wrong answer0/01ms316 KiB
2Wrong answer0/01ms316 KiB
3Wrong answer0/01ms500 KiB
4Wrong answer0/01ms316 KiB
5Wrong answer0/035ms480 KiB
6Wrong answer0/21ms316 KiB
7Wrong answer0/21ms508 KiB
8Wrong answer0/21ms316 KiB
9Wrong answer0/23ms416 KiB
10Wrong answer0/2197ms476 KiB
11Time limit exceeded0/2600ms1056 KiB
12Time limit exceeded0/1598ms1056 KiB
13Wrong answer0/12ms316 KiB
14Wrong answer0/1223ms476 KiB
15Accepted1/120ms564 KiB
16Time limit exceeded0/1587ms612 KiB
17Accepted1/121ms564 KiB
18Wrong answer0/19ms568 KiB
19Wrong answer0/150ms1204 KiB
20Wrong answer0/139ms1180 KiB
21Wrong answer0/168ms1716 KiB
22Wrong answer0/132ms1076 KiB
23Time limit exceeded0/1600ms1076 KiB
24Time limit exceeded0/1600ms1056 KiB
25Wrong answer0/22ms316 KiB
26Wrong answer0/27ms316 KiB
27Wrong answer0/235ms920 KiB
28Wrong answer0/135ms932 KiB
29Accepted2/223ms576 KiB
30Wrong answer0/170ms1704 KiB
31Accepted1/141ms1080 KiB
32Wrong answer0/23ms316 KiB
33Wrong answer0/271ms1688 KiB
34Wrong answer0/172ms1688 KiB
35Wrong answer0/287ms1696 KiB
36Wrong answer0/271ms1688 KiB
37Wrong answer0/270ms1720 KiB
38Wrong answer0/271ms1708 KiB
39Wrong answer0/12ms328 KiB