Submission #729585

#TimeUsernameProblemLanguageResultExecution timeMemory
729585NeroZeinRobots (IOI13_robots)C++17
0 / 100
1681 ms28020 KiB
#include "robots.h" #include <bits/stdc++.h> using namespace std; const int N = 50004; const int T = 1000006; int x[N], y[N]; int w[T], s[T]; int putaway(int A, int B, int T_, int X[], int Y[], int W[], int S[]) { int a, b, t; a = A; b = B; t = T_; //cout << a << ' ' << b << ' ' << t << '\n'; for (int i = 0; i < a; ++i) { x[i] = X[i]; } for (int i = 0; i < b; ++i) { y[i] = Y[i]; } for (int i = 0; i < t; ++i) { w[i] = W[i]; } for (int i = 0; i < t; ++i) { s[i] = S[i]; } sort(x, x + a, greater<int>()); sort(w, w + t, greater<int>()); //for (int i = 0; i < a; ++i) { //cout << x[i] << ' '; //} //cout << '\n'; //for (int i = 0; i < t; ++i) { //cout << w[i] << ' '; //} //cout << '\n'; //for (int i = 0; i < t; ++i) { //cout << W[i] << ' '; //} //cout << '\n'; auto ch = [&](int mid) { int p = 0; for (int i = 0; i < a; ++i) {//a are week for (int j = 0; j < mid; ++j, ++p) { if (p < t && w[p] >= x[i]) { return false; } } } return p >= t; }; int l = 0, r = t + 1; while (l < r) { int mid = (l + r) >> 1; if (ch(mid)) { r = mid; } else { l = mid + 1; } } return (l == t + 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...