제출 #682803

#제출 시각아이디문제언어결과실행 시간메모리
682803smartmonky학교 설립 (IZhO13_school)C++14
10 / 100
100 ms11368 KiB
#include <bits/stdc++.h>
 
#define ff first
#define ss second
#define pb push_back
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define int long long
 
using namespace std;
 
const int N = 1e5 + 1;

bool comp(pair <int,int> a, pair <int,int> b){
	return max(a.ff,a.ss) > max(b.ff,b.ss);
}
main(){
	ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n, m, s;
    cin >> n >> m >> s;
    vector <int> a, b;
    vector <pair <int,int> > vp(n);
    for(int i = 0; i < n; i++){
		cin >> vp[i].ff >> vp[i].ss;
		a.pb(vp[i].ff);
		b.pb(vp[i].ss);
	}
	sort(all(vp), comp);
	sort(rall(a));
	sort(rall(b));
	int lm = m, ls = s;
	int ans = 0;
	//swap(s, m);
	for(int i = 0; i < n; i++){
		if(!(vp[i].ff >= a[lm - 1] || vp[i].ss >= b[ls - 1]) || !s && !m)continue;
		if(vp[i].ff >= a[lm - 1] && (m && !s || m && abs(a[lm] - a[lm - 1]) >= abs(b[ls] - b[ls - 1]))){
			ans += vp[i].ff;
			ls++;
			//cout <<"2 " << vp[i].ff << endl;
			m--;
		}else if(vp[i].ss >= b[ls - 1] && (!m || s && abs(a[lm] - a[lm - 1]) <= abs(b[ls] - b[ls - 1]))){
			ans += vp[i].ss;
			lm++;
			s--;
		}
	}
	cout << ans;
}

컴파일 시 표준 에러 (stderr) 메시지

school.cpp:17:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   17 | main(){
      | ^~~~
school.cpp: In function 'int main()':
school.cpp:36:62: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   36 |   if(!(vp[i].ff >= a[lm - 1] || vp[i].ss >= b[ls - 1]) || !s && !m)continue;
      |                                                           ~~~^~~~~
school.cpp:37:34: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   37 |   if(vp[i].ff >= a[lm - 1] && (m && !s || m && abs(a[lm] - a[lm - 1]) >= abs(b[ls] - b[ls - 1]))){
      |                                ~~^~~~~
school.cpp:42:46: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   42 |   }else if(vp[i].ss >= b[ls - 1] && (!m || s && abs(a[lm] - a[lm - 1]) <= abs(b[ls] - b[ls - 1]))){
      |                                            ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...