152892025-02-18 08:53:09zsebiLádapakolás raktárban (50)cpp17Accepted 50/5052ms3556 KiB
// ladapakolas.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <queue>
#include <map>
#define ll long long 
using namespace std;
ll n, m;
map<ll, ll>mp;
int main()
{
	cin >> n >> m;
	vector<ll>x(n + 1, 0);
	for (int i = 1; i <= n; ++i)cin >> x[i];
	int i = 1;
	ll elo = 0, db = 0,s=0;
	while (i <= n)
	{
		
		s = x[i];
		mp[x[i]]++;
		++i;
		
		while (i<=n &&x[i-1]<x[i] && !mp[x[i]] && s + x[i] <= m)
		{
			mp[x[i]]++;
			db++;
			s += x[i];
			i++;
		}
		
		
		while (i<=n &&x[i] < x[i-1] && !mp[x[i]] && s + x[i] <= m)
		{
			
			db++;
			s += x[i];
		
			i++;
		}
		
		mp.clear();
	}
	cout << db;
	return 0;
}
/*
* 12 16
1 3 5 4 2 6 8 7 6 5 3 4
*/

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms500 KiB
2Accepted0/04ms316 KiB
3Accepted2/21ms508 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms344 KiB
9Accepted3/31ms316 KiB
10Accepted2/21ms316 KiB
11Accepted2/21ms316 KiB
12Accepted2/22ms316 KiB
13Accepted3/33ms316 KiB
14Accepted3/34ms544 KiB
15Accepted3/34ms316 KiB
16Accepted2/232ms1192 KiB
17Accepted3/341ms992 KiB
18Accepted3/352ms1076 KiB
19Accepted3/335ms1076 KiB
20Accepted3/352ms3176 KiB
21Accepted3/346ms3120 KiB
22Accepted3/350ms3556 KiB