Submission #1264229

#TimeUsernameProblemLanguageResultExecution timeMemory
1264229DeltaStructRobots (IOI13_robots)C++20
90 / 100
1248 ms12456 KiB
#include "robots.h" #include <bits/stdc++.h> using namespace std; int putaway(int x,int y,int n,int A[],int B[],int c[],int d[]){ vector<pair<int,int>> C; for (int i(0);i < n;++i) C.emplace_back(c[i],d[i]); sort(A,A+x),sort(B,B+y),sort(C.begin(),C.end()); int l = n+1,r = -1,mid; while(abs(l-r)>1){ mid = (l+r)/2; priority_queue<int> M; for (int i(0),k(0);i < x;++i){ for (;k < n&&C[k].first<A[i];++k) M.emplace(C[k].second); for (int j(0);j < mid&&!M.empty();++j) M.pop(); } priority_queue<int,vector<int>,greater<int>> T; while(!M.empty()) T.emplace(M.top()),M.pop(); for (int i(0);i < n;++i) if (A[x-1]<=C[i].first) T.emplace(C[i].second); for (int i(0);i < y;++i) for (int k(0);k < mid&&!T.empty()&&T.top()<B[i];++k) T.pop(); if (T.empty()) l = mid; else r = mid; } return (l==n+1?-1:l); }
#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...