Submission #261601

#TimeUsernameProblemLanguageResultExecution timeMemory
261601c4ts0upRice Hub (IOI11_ricehub)C++17
68 / 100
1040 ms1212 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; ll n; vector <ll> arr; ll RO(ll budget, ll idx) { vector <int> pq; for (ll x : arr) pq.push_back(abs(x-arr[idx])); ll paks = 1, suma = 0, lb = idx-1, ub = idx+1; while (lb >= 0 || ub < n) { if (lb >= 0 && ub < n && pq[lb] <= pq[ub]) { if (suma + pq[lb] <= budget) suma += pq[lb], lb--, paks++; else break; } else if (lb >= 0 && ub < n && pq[lb] > pq[ub]) { if (suma + pq[ub] <= budget) suma += pq[ub], ub++, paks++; else break; } else if (lb >= 0) { if (suma + pq[lb] <= budget) suma += pq[lb], lb--, paks++; else break; } else if (ub < n) { if (suma + pq[ub] <= budget) suma += pq[ub], ub++, paks++; else break; } else {} } return paks; } int besthub(int R, int L, int X[], ll B) { for (ll i=0; i<R; i++) arr.push_back((ll)X[i]); n = R; ll maxi = 0; for (ll i=0; i<R; i++) { maxi = max(maxi, RO(B, i)); } return maxi; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...