답안 #328874

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
328874 2020-11-18T10:15:29 Z cgiosy 학교 설립 (IZhO13_school) C++17
25 / 100
111 ms 3820 KB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;

struct pii {
	int a, b;
	bool operator<(const pii t) const { return a>t.a || a==t.a && b>t.b; }
};
int main() {
	ios::sync_with_stdio(0);cin.tie(0);
	int N, X, Y;
	cin>>N>>X>>Y;
	vector<pii> A(N);
	for(auto&[a,b]:A) cin>>a>>b;
	sort(A.begin(), A.end());
	for(int i=X; i<N; i++) swap(A[i].a, A[i].b);
	sort(A.begin()+X, A.end());
	priority_queue<int> Qa, Qb;
	ll s=0;
	for(int i=0; i<X+Y; i++) s+=A[i].a, (i<X ? Qa : Qb).push(A[i].b-A[i].a);
	if(X && Y) while(true) {
		int a=Qa.top(); Qa.pop();
		int b=Qb.top(); Qb.pop();
		if(a+b<=0) break;
		s+=a+b;
		Qb.push(-a);
		Qa.push(-b);
	}
	cout<<s<<'\n';
}

Compilation message

school.cpp: In member function 'bool pii::operator<(pii) const':
school.cpp:7:61: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
    7 |  bool operator<(const pii t) const { return a>t.a || a==t.a && b>t.b; }
      |                                                      ~~~~~~~^~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 512 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Incorrect 1 ms 364 KB Output isn't correct
5 Incorrect 0 ms 364 KB Output isn't correct
6 Incorrect 1 ms 364 KB Output isn't correct
7 Incorrect 2 ms 364 KB Output isn't correct
8 Correct 2 ms 364 KB Output is correct
9 Incorrect 2 ms 364 KB Output isn't correct
10 Incorrect 2 ms 364 KB Output isn't correct
11 Incorrect 2 ms 364 KB Output isn't correct
12 Incorrect 2 ms 492 KB Output isn't correct
13 Incorrect 15 ms 876 KB Output isn't correct
14 Incorrect 32 ms 1260 KB Output isn't correct
15 Incorrect 63 ms 1644 KB Output isn't correct
16 Correct 78 ms 3044 KB Output is correct
17 Incorrect 84 ms 3180 KB Output isn't correct
18 Incorrect 89 ms 3308 KB Output isn't correct
19 Incorrect 99 ms 3564 KB Output isn't correct
20 Incorrect 111 ms 3820 KB Output isn't correct