Submission #991195

#TimeUsernameProblemLanguageResultExecution timeMemory
991195goats_9Sails (IOI07_sails)C++17
40 / 100
1081 ms11804 KiB
/* Author: goats_9 */

#include <bits/stdc++.h>
using namespace std;

using ll = long long;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	int n;
	cin >> n;
	vector<array<ll, 2>> a(n);
	for (int i = 0; i < n; i++) cin >> a[i][0] >> a[i][1];
	sort(a.begin(), a.end());
	set<array<ll, 2>> st;
	int mxl = 0;
	for (int i = 0; i < n; i++) {
		while (mxl < a[i][0]) {
			st.insert({0, -mxl});
			mxl++;
		}
		int j = a[i][1];
		vector<array<ll, 2>> b;
		while (j--) {
			b.push_back(*st.begin());
			st.erase(st.begin());
		}
		for (auto br : b) {
			br[0]++;
			st.insert(br);
		}
	}
	ll ans = 0;
	for (auto [u, v] : st) ans += u*(u - 1)/2;
	cout << ans;
	return 0;
}
#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...
#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...