Submission #224666

#TimeUsernameProblemLanguageResultExecution timeMemory
224666monus1042Rice Hub (IOI11_ricehub)C++17
42 / 100
1093 ms1280 KiB
#include <bits/stdc++.h> #include "ricehub.h" using namespace std; #define ll long long int besthub(int R, int L, int X[], long long B) { int ans=0; long long cost=0; for (int i=0; i<R; i++){ multiset<int> se; for (int j=0; j<R; j++) se.insert(X[j]); se.insert(X[i]); cost=0; int pans=0; while(1){ auto ff=se.find(X[i]), rb=se.begin(); rb--; auto fr=ff, fl=ff; fr++, fl--; if (fr==se.end() && fl==rb) break; else if (fr==se.end()){ ll t2=X[i] - *fl; if (cost + t2 <= B){ cost+=t2; pans++; se.erase(fl); }else break; } else if (fl==rb){ ll t1=*fr - X[i]; if (cost + t1 <= B){ cost+=t1; pans++; se.erase(fr); }else break; }else{ ll t1=*fr - X[i],t2=X[i] - *fl; if (t1<t2){ if (cost + t1 <= B){ cost+=t1; pans++; se.erase(fr); }else break; }else{ if (cost + t2 <= B){ cost+=t2; pans++; se.erase(fl); }else break; } } } ans=max(ans, pans); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...