Submission #616888

#TimeUsernameProblemLanguageResultExecution timeMemory
6168881neSails (IOI07_sails)C++14
0 / 100
1091 ms3876 KiB
#include<bits/stdc++.h>
using namespace std;

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	int n;cin>>n;
	vector<pair<int,int>>arr(n);
	vector<long long>v(100001,0);
	for (int i = 0;i<n;++i){
		cin>>arr[i].first>>arr[i].second;
	}
	sort(arr.begin(),arr.end(),[&](auto x,auto y){
		return x.first < y.first;
	});
	long long ans = 0;
	priority_queue<pair<long long,long long>>q;
	int right = 0;
	for (int i = 0;i<n;++i){
		while(right < arr[i].first){
			q.push({-v[right],right});
			++right;
		}
		for (int j = 0;j<arr[i].second;++j){
			auto u = q.top();
			q.pop();
			ans+=-u.first;
			v[u.second]++;
			q.push({-v[u.second],u.second});
		}
	}
	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...