Submission #777551

#TimeUsernameProblemLanguageResultExecution timeMemory
777551a_aguiloSails (IOI07_sails)C++14
40 / 100
1075 ms2476 KiB
#include<bits/stdc++.h>

using namespace std;

int N;
long long ans;
const int maxN = 100002;
const int maxH = 100002;
pair<int, int> masts[maxN];

int main(){
	ans = 0;
	cin >> N;
	for(int i = 0; i < N; ++i) cin >> masts[i].first >> masts[i].second;
	priority_queue<int> PQ;
	sort(masts, masts+N);
	for(int i = 0; i < N; ++i){
		int h = masts[i].first;
		int k = masts[i].second;
		queue<int> sails;
		while(PQ.size() < h)PQ.push(0);
		for(int j = 0; j < k; ++j){
			int pos = -PQ.top(); PQ.pop();
			sails.push(pos+1);
			ans += pos;
		}
		while(!sails.empty()){
			PQ.push(-sails.front()); sails.pop();
		}
	}
	cout << ans << endl;
	return 0;
}

Compilation message (stderr)

sails.cpp: In function 'int main()':
sails.cpp:21:19: warning: comparison of integer expressions of different signedness: 'std::priority_queue<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   21 |   while(PQ.size() < h)PQ.push(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...