Submission #1263823

#TimeUsernameProblemLanguageResultExecution timeMemory
1263823repmannRobots (IOI13_robots)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> #include "robots.h" using namespace std; int A, B, T; int putaway(int a, int b, int t, int *X, int *Y, int *W, int *S) { A = a; B = b; T = t; sort(X, X + A); sort(Y, Y + B); for(int i = 0; i < T; i++) if((!A || (W[i] >= X[A - 1])) && (!B || (S[i] >= Y[B - 1]))) return -1; vector <pair <int, int>> V; for(int i = 0; i < T; i++) V.push_back({W[i], S[i]}); sort(V.begin(), V.end()); int ret = -1, l = 1, r = T, s; auto OK = [&]() { priority_queue <int> H; int j = 0; for(int i = 0; i < A; i++) { while((j < T) && (V[j].first <= X[i])) {H.push(V[j].second); j++;} for(int k = 0; (k < s) && H.size(); k++) H.pop(); } for(j; j < T; j++) H.push(V[j].second); for(int i = B - 1; i >= 0; i--) { for(int k = 0; (k < s) && H.size(); k++) { if(H.top() > Y[i]) return false; H.pop(); } } return !H.size(); }; while(l <= r) { s = (l + r) >> 1; if(!OK()) l = s + 1; else {r = s - 1; ret = s;} } return ret; } //int main() //{ // int a, b, t; // cin >> a >> b >> t; // int x[a], y[b], w[t], s[t]; // for(int i = 0; i < a; i++) cin >> x[i]; // for(int i = 0; i < b; i++) cin >> y[i]; // for(int i = 0; i < t; i++) cin >> w[i]; // for(int i = 0; i < t; i++) cin >> s[i]; // cout << putaway(a, b, t, x, y, w, s) << '\n'; // 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...