Submission #1241117

#TimeUsernameProblemLanguageResultExecution timeMemory
1241117ereringRobots (IOI13_robots)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> #include "robots.h" using namespace std; #define pb push_back int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) { sort(X,X+A); sort(Y,Y+B); int l=1,r=T+1; vector<pair<int,int>> toys; for(int i=0;i<T;i++){ toys.pb({S[i],W[i]}); } sort(toys.begin(),toys.end()); while(l<r){ int mid=(l+r)/2; set<pair<int,int>> st; for(int i=0;i<A;i++)st.insert({X[i],mid}); vector<int> rem; for(int i=toys.size()-1;i>=0;i--){ auto it=st.lower_bound({toys[i].second+1,-1}); if(it==st.end()){ rem.pb(toys[i].first); continue; } pair<int,int> p=*it; p.second--; st.erase(it); if(p.second>0)st.insert(p); } int ri=B-1; bool flag=1; for(int i=0;i<rem.size();i++){ if(i>0 && i%mid==0)ri--; if(ri<0 || rem[i]>=Y[ri]){ flag=0; break; } } if(flag)r=mid; else l=mid+1; } if(r==T+1)return -1; else return r; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...