Submission #1186136

#TimeUsernameProblemLanguageResultExecution timeMemory
1186136GabpRobots (IOI13_robots)C++20
100 / 100
1243 ms13040 KiB
#include<bits/stdc++.h> #include"robots.h" using namespace std; int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) { vector<int> x(A), y(B); for (int i = 0; i < A; i++) x[i] = X[i]; for (int i = 0; i < B; i++) y[i] = -Y[i]; sort(x.begin(), x.end()); sort(y.begin(), y.end()); vector<pair<int,int>> a(T); for (int i = 0; i < T; i++) a[i] = {W[i], S[i]}; sort(a.begin(), a.end()); int lo = 1, hi = T; int ans = -1; while (lo <= hi) { int mid = lo + (hi - lo) / 2; int p = 0; priority_queue<int> pq; for (auto i: x) { while (p < T && a[p].first < i) { pq.push(a[p++].second); } for (int j = 0; j < mid && !pq.empty(); j++) pq.pop(); } for (int i = p; i < T; i++) pq.push(a[i].second); for (auto i: y) { for (int j = 0; j < mid && !pq.empty() && pq.top() < -i; j++) pq.pop(); } if (!pq.empty()) { lo = mid + 1; } else { ans = mid; hi = mid - 1; } } return ans; }
#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...