Submission #1163507

#TimeUsernameProblemLanguageResultExecution timeMemory
1163507gohchingjaykAkcija (COCI21_akcija)C++20
10 / 110
1 ms328 KiB
#include <bits/stdc++.h>
using namespace std;

using ll = long long;
using ull = unsigned long long;

#define int ll
#define uint ull

pair<int, int> prods[2000 + 5];
int n, k;

signed main() {
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr); cout.tie(nullptr);
	
	cin >> n >> k;
	
	for (int i = 0; i < n; ++i) cin >> prods[i].second >> prods[i].first;
	
	sort(prods, prods + n);
	priority_queue<int> untake;
	
	int ans = 0;
	int time = 1;
	int bought = 0;
	for (int i = 0; i < n; ++i) {
		auto [timing, cost] = prods[i];
		if (timing < time) {
			if (untake.empty()) continue;
			int expensive = -untake.top();
			if (cost >= expensive) continue;
			else {
				untake.pop();
				time--;
				bought--;
				ans -= expensive;
			}
		}
		time++;
		bought++;
		ans += cost;
		untake.emplace(-cost);
	}
	cout << bought << ' ' << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...