# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
897531 | 2024-01-03T10:58:34 Z | ThylOne | Rice Hub (IOI11_ricehub) | C++14 | 1000 ms | 2008 KB |
#include "ricehub.h" #include<bits/stdc++.h> using namespace std; using pll = pair<long long,long long>; vector<pll> pos; long long budget; int limit; bool existWithT(int T){ long long sum = 0; int taille = 0; int right=0; for(int left=0;left<pos.size();left++){ while(taille<T && right<pos.size()){ taille+=pos[right].second; sum+=pos[right].first*pos[right].second; right++; } if(taille<T)break; double bestInf = double(sum)/double(taille); double bestSup = ceil(double(sum)/double(taille)); auto scoring = [&](int x){ long long re = 0; for(int i=left;i<=right;i++) re+=pos[i].second * abs(x-pos[i].first); return re; }; if(scoring(bestInf)<=budget || scoring(bestSup)<=budget)return true; taille-=pos[left].second; sum-=pos[left].first*pos[left].second; } return false; } int besthub(int R, int L, int X[], long long B) { budget = B; limit = L; map<int,int> occ; for(int i = 0;i<R;i++){ occ[X[i]]++; } for(int i = 0;i<R;i++){ if(occ[X[i]]) pos.push_back({X[i],occ[X[i]]}); occ[X[i]]=0; } sort(pos.begin(),pos.end()); for(int i=R;i>=1;i--){ if(existWithT(i)){ return i; } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 348 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 348 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 468 KB | Output is correct |
2 | Correct | 2 ms | 348 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 1 ms | 344 KB | Output is correct |
5 | Incorrect | 0 ms | 344 KB | Output isn't correct |
6 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1047 ms | 2008 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |