Submission #674695

#TimeUsernameProblemLanguageResultExecution timeMemory
674695David1425Sails (IOI07_sails)C++17
40 / 100
1092 ms2584 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main() {
	ios_base::sync_with_stdio(0); cin.tie(0);
	
	int n;
	cin >> n;
	pair<int,int> a[n];
	for (int i = 0; i < n; i++) cin >> a[i].first >> a[i].second;
	sort(a,a+n);
	priority_queue<int,vector<int>,greater<int>> pq;
	int pre = 0;
	for (int i = 0; i < n; i++) {
		while (pre < a[i].first) {
			pq.push(0);
			pre++;
		}
		int tmp[a[i].second];
		for (int j = 0; j < a[i].second; j++) {
			int x = pq.top(); pq.pop();
			tmp[j] = x+1;
		}
		for (auto j : tmp) pq.push(j);
	}
	
	ll ans = 0;
	while (!pq.empty()) {
		ll x = pq.top(); pq.pop();
		ans += x*(x-1)/2;
	}
	cout << ans << '\n';
}
#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...