Submission #586254

#TimeUsernameProblemLanguageResultExecution timeMemory
586254TekorHoliday (IOI14_holiday)C++17
47 / 100
5016 ms6976 KiB
#include"holiday.h" #include <bits/stdc++.h> using namespace std; #define pii pair <int,int> #define f first #define s second #define mp make_pair #define pb push_back #define all(v) v.begin(),v.end() #define ll long long #define pll pair <ll,ll> const int N = 3e5 + 100; long long int findMaxAttraction(int n, int start, int d, int a[]) { ll ans = 0; if(start == 0) { set <pll> q; ll sum = 0; for(int i = 0;i < n;i++) { q.insert(mp(a[i],i)); sum += a[i]; int ost = d - i; while(q.size() > ost) { pll vv = *(q.begin()); q.erase(vv); sum -= vv.f; } ans = max(ans,sum); } return ans; } for(int L = start;L >= 0;L--) { set <pll> q; ll sum = 0; for(int j = start - 1;j >= L;j--) { q.insert(mp(a[j],j)); sum += a[j]; } for(int R = start;R < n;R++) { int dist = min(R - start + R - L,start - L + R - L); int ost = d - dist; if(ost <= 0)break; q.insert(mp(a[R],R)); sum += a[R]; while(q.size() > ost) { pll vv = *(q.begin()); q.erase(vv); sum -= vv.f; } ans = max(ans,sum); } } return ans; }

Compilation message (stderr)

holiday.cpp: In function 'long long int findMaxAttraction(int, int, int, int*)':
holiday.cpp:23:22: warning: comparison of integer expressions of different signedness: 'std::set<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   23 |       while(q.size() > ost) {
      |             ~~~~~~~~~^~~~~
holiday.cpp:45:19: warning: comparison of integer expressions of different signedness: 'std::set<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   45 |    while(q.size() > ost) {
      |          ~~~~~~~~~^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...