제출 #1326823

#제출 시각아이디문제언어결과실행 시간메모리
1326823dungnt학교 설립 (IZhO13_school)C++20
100 / 100
76 ms6748 KiB
#include<bits/stdc++.h> #define ll long long #define pii pair<int, int> #define fi first #define se second using namespace std; const int N = 3e5 + 5; int n, m, s; pii p[N]; ll pre[N], suf[N]; bool cmp(pii a, pii b) { return a.fi - a.se > b.fi - b.se; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define name "task" if(fopen(name".inp", "r")) { freopen(name".inp", "r", stdin); freopen(name".out", "w", stdout); } cin >> n >> m >> s; for(int i = 1; i <= n; i++) cin >> p[i].fi >> p[i].se; sort(p + 1, p + n + 1, cmp); priority_queue<int, vector<int>, greater<int>> pq; ll sum = 0; for(int i = 1; i <= n; i++) { pq.push(p[i].fi); sum += p[i].fi; if(pq.size() > m) { sum -= pq.top(); pq.pop(); } if(pq.size() == m) pre[i] = sum; } pq = priority_queue<int, vector<int>, greater<int>>(); sum = 0; for(int i = n; i >= 1; i--) { pq.push(p[i].se); sum += p[i].se; if(pq.size() > s) { sum -= pq.top(); pq.pop(); } if(pq.size() == s) suf[i] = sum; } ll ans = 0; for(int i = m; i <= n - s; i++) ans = max(ans, pre[i] + suf[i + 1]); cout << ans; }

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

school.cpp: In function 'int main()':
school.cpp:26:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   26 |         freopen(name".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
school.cpp:27:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   27 |         freopen(name".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...