Submission #993251

#TimeUsernameProblemLanguageResultExecution timeMemory
993251Essa2006Robots (IOI13_robots)C++14
28 / 100
125 ms15444 KiB
#include "robots.h" #include<bits/stdc++.h> using namespace std; #define ll long long #define endl '\n' #define FF first #define SS second #define all(a) a.begin(), a.end() #define mod (ll)(1000000007) int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) { sort(X, X + A); sort(Y, Y + B); if (B == 0) { sort(W, W + T); int l = 0, r = T, cur = -1; while (l <= r) { int md = (l + r) / 2; int ind = T - 1; for (int i = A - 1; i >= 0; i--) { int temp = 0; while (temp < md && ind >= 0 && X[i] > W[ind]) { ind--, temp++; } } if (ind == -1) { cur = md, r = md - 1; } else { l = md + 1; } } return cur; } if (A == 1) { array<int, 2> fir = {W[0] < X[0], W[1] < X[0]}; array<int, 2> sec = {S[0] < Y[0], S[1] < Y[0]}; if ((fir[0] && sec[1]) || (fir[1] && sec[0])) { return 1; } if ((fir[0] && fir[1]) || (sec[0] && sec[1])) { return 2; } return -1; } if (A == 2) { sort(W, W + T); if (W[0] < X[0] && W[1] < X[1]) { return 1; } if (X[1] > W[1]) { return 2; } return -1; } sort(S, S + T); if (S[0] < Y[0] && S[1] < Y[1]) { return 1; } if (Y[1] > S[1]) { return 2; } return -1; }
#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...