Submission #502522

#TimeUsernameProblemLanguageResultExecution timeMemory
502522ismoilovSchools (IZhO13_school)C++14
30 / 100
191 ms13860 KiB
#include<bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> using namespace std; typedef long long ll; #define IOS ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #define all(x) (x).rbegin(), (x).rend() #define fp(a,i,c) for(int (a) = (i); (a) < (c); (a)++) #define fpp(a,i,c) for(int (a) = (i); (a) <= (c); (a)++) #define fm(a,i,c) for(int (a) = (i); (a) > (c); (a)--) #define fmm(a,i,c) for(int (a) = (i); (a) >= (c); (a)--) const int maxx = 3e5+5; int a[maxx], b[maxx], pr[maxx], rp[maxx]; void S() { int n, ss, m; cin >> n >> ss >> m; vector <pair<pair<int, int>, int>> c; fp(i,0,n){ cin >> a[i] >> b[i]; c.push_back({{a[i]-b[i], a[i]}, b[i]}); } sort(all(c)); multiset <int> sc; ll s = 0; fpp(i,1,n){ s += c[i-1].first.second; sc.insert(c[i-1].first.second); if(sc.size() > ss) s -= *sc.begin(), sc.erase(*sc.begin()); pr[i] = s; } s = 0; sc.clear(); fm(i,n,0){ s += c[i-1].second; sc.insert(c[i-1].second); if(sc.size() > m) s -= *sc.begin(), sc.erase(*sc.begin()); rp[i] = s; } ll ans = 0; fpp(i,0,n){ ans = max(ans, (ll)(pr[i]+rp[i+1])); } cout << ans; } int main() { IOS; S(); }

Compilation message (stderr)

school.cpp: In function 'void S()':
school.cpp:10:27: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   10 | #define fp(a,i,c) for(int (a) = (i); (a) < (c); (a)++)
      |                           ^
school.cpp:21:2: note: in expansion of macro 'fp'
   21 |  fp(i,0,n){
      |  ^~
school.cpp:11:28: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   11 | #define fpp(a,i,c) for(int (a) = (i); (a) <= (c); (a)++)
      |                            ^
school.cpp:28:2: note: in expansion of macro 'fpp'
   28 |  fpp(i,1,n){
      |  ^~~
school.cpp:31:16: warning: comparison of integer expressions of different signedness: 'std::multiset<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   31 |   if(sc.size() > ss)
      |      ~~~~~~~~~~^~~~
school.cpp:12:27: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   12 | #define fm(a,i,c) for(int (a) = (i); (a) > (c); (a)--)
      |                           ^
school.cpp:37:2: note: in expansion of macro 'fm'
   37 |  fm(i,n,0){
      |  ^~
school.cpp:40:16: warning: comparison of integer expressions of different signedness: 'std::multiset<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   40 |   if(sc.size() > m)
      |      ~~~~~~~~~~^~~
school.cpp:11:28: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   11 | #define fpp(a,i,c) for(int (a) = (i); (a) <= (c); (a)++)
      |                            ^
school.cpp:45:2: note: in expansion of macro 'fpp'
   45 |  fpp(i,0,n){
      |  ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...