Submission #964161

#TimeUsernameProblemLanguageResultExecution timeMemory
964161vivkostovRobots (IOI13_robots)C++14
0 / 100
2 ms6492 KiB
#include<bits/stdc++.h> #include "robots.h" using namespace std; void speed() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); } struct cell { int w,s; bool operator<(const cell&a1)const { return s<a1.s; } }; bool cmp(cell a1,cell a2) { return a1.w<a2.w; } int n,m,t,a[1000005],b[1000005]; cell c[1000005]; priority_queue<cell>q; bool check(int h) { int j=0; for(int i=0;i<n;i++) { while(c[j].w<a[i]&&j<=t) { q.push(c[j]); j++; } int g=h; while(g&&!q.empty()) { q.pop(); g--; } } for(;j<t;j++)q.push(c[j]); for(int i=m-1;i>=0;i--) { int g=h; if(!q.empty()&&q.top().s>=b[i])return false; while(g&&!q.empty()) { g--; q.pop(); } } if(!q.empty())return false; return true; } int putaway(int n,int m,int t,int a[],int b[],int w[],int s[]) //void read() { cin>>n>>m>>t; for(int i=0;i<n;i++) { //cin>>a[i]; } sort(a,a+n); for(int i=0;i<m;i++) { //cin>>b[i]; } sort(b,b+m); for(int i=0;i<t;i++) { //cin>>c[i].w>>c[i].s; c[i].w=w[i]; c[i].s=s[i]; } sort(c,c+t,cmp); int l=0,r=t-1,mi; while(l<=r) { mi=(l+r)/2; if(check(mi))r=mi-1; else l=mi+1; while(!q.empty())q.pop(); //cout<<l<<" "<<r<<endl; } if(l==t) { //cout<<-1<<endl; return -1; } //cout<<l<<endl; return l; } /*int main() { speed(); read(); return 0; } */
#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...