235132026-01-24 10:19:12matemakaiLádapakolás raktárban (50)cpp17Elfogadva 50/5071ms2408 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, m;
	cin >> n >> m;
	vector<int> v(n);
	for (int i = 0; i < n; ++i) {
		cin >> v[i];
	}

	int stacks = 1;
	int sum = v[0];
	unordered_set<int> s = {v[0]};
	bool up = true;

	for (int i = 1; i < n; ++i) {
		if (v[i] > v[i - 1] && !s.count(v[i]) && up && (sum + v[i] <= m)) {
			s.insert(v[i]);
			sum += v[i];
		} else if (v[i] < v[i - 1] && !s.count(v[i]) && (sum + v[i] <= m)) {
			up = false;
			s.insert(v[i]);
			sum += v[i];
		} else {
			++stacks;
			sum = v[i];
			s = {v[i]};
			up = true;
		}
	}

	cout << n - stacks << endl;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/04ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms508 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva2/21ms316 KiB
12Elfogadva2/22ms316 KiB
13Elfogadva3/32ms316 KiB
14Elfogadva3/34ms316 KiB
15Elfogadva3/34ms440 KiB
16Elfogadva2/232ms800 KiB
17Elfogadva3/343ms804 KiB
18Elfogadva3/352ms796 KiB
19Elfogadva3/337ms752 KiB
20Elfogadva3/339ms2140 KiB
21Elfogadva3/371ms2192 KiB
22Elfogadva3/359ms2408 KiB