Submission #84418

#TimeUsernameProblemLanguageResultExecution timeMemory
84418MrTEK학교 설립 (IZhO13_school)C++14
25 / 100
454 ms18284 KiB
#include <bits/stdc++.h> using namespace std; typedef long long int ll; typedef pair<int,int> ii; const int N = 3e5 + 5; multiset <int> l1,l2,r1,r2; multiset <int> :: iterator it; int n,m,s,a[N],b[N],id[N]; ll suml,sumr,ans; void add_l(int x){ if (l1.size() < m) { suml += a[x]; l1.insert(-a[x]); } else { it = l1.end(); it--; if (-*it < a[x]) { suml += a[x]; suml -= -*it; l2.insert(*it); l1.erase(it); l1.insert(-a[x]); } else { l2.insert(-a[x]); } } } void add_r(int x) { if (r1.size() < s) { sumr += b[x]; r1.insert(-b[x]); } else { it = r1.end(); it--; if (-*it < b[x]) { sumr += b[x]; sumr -= -*it; r2.insert(*it); r1.erase(it); r1.insert(-b[x]); } else r2.insert(-b[x]); } } void remove_r(int x) { if (r2.empty()) { sumr -= b[x]; r1.erase(r1.find(-b[x])); } else { it = r2.find(-b[x]); if (it != r2.end()) r2.erase(it); else { sumr -= b[x]; r1.erase(r1.find(-b[x])); } } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m >> s; for (int i = 1 ; i <= n ; i++) { cin >> a[i] >> b[i]; id[i] = i; } sort(id + 1,id + n + 1,[&](int x,int y) { return a[x] - a[y] > b[x] - b[y]; }); for (int i = 1 ; i <= m ; i++) add_l(id[i]); for (int i = m + 1 ; i <= n ; i++) add_r(id[i]); if (min(m,s) == 0) { cerr << "Dogru iste neden gecmiyon"; return -1; } ans = suml + sumr; for (int i = m + 1 ; i <= n ; i++) { if (n - i < s) break; add_l(id[i]); remove_r(id[i]); ans = max(ans,suml + sumr); } cout << ans << "\n"; }

Compilation message (stderr)

school.cpp: In function 'void add_l(int)':
school.cpp:17:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (l1.size() < m) {
       ~~~~~~~~~~^~~
school.cpp: In function 'void add_r(int)':
school.cpp:38:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (r1.size() < s) {
       ~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...