Submission #145271

#TimeUsernameProblemLanguageResultExecution timeMemory
145271SortingSails (IOI07_sails)C++14
5 / 100
34 ms3064 KiB
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 1e5 + 7;

int n;
pair<long long, long long> a[MAXN]; //height, number of sails

int main(){
	ios::sync_with_stdio(false);
	cin.tie(NULL);

	cin >> n;

	for(int i = 0; i < n; ++i){
		cin >> a[i].first >> a[i].second;
	}

	sort(a, a + n);

	long long ans = 0, cnt = 0;
	long long mn = MAXN;

	for(int i = n - 1; i >= 0; --i){
		mn = min(a[i].first, mn);
		if(mn > a[i].second){
			ans += a[i].second * cnt;
			mn -= a[i].second;
		}
		else{
			ans += mn * cnt;
			++cnt;
			ans += (a[i].second - mn) * cnt;
			mn = a[i].first - (a[i].second - mn);
		}
	}

	cout << ans << "\n";

	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...