제출 #706806

#제출 시각아이디문제언어결과실행 시간메모리
706806Nonoze로봇 (IOI13_robots)C++14
0 / 100
1 ms308 KiB
#include "robots.h" #include <bits/stdc++.h> using namespace std; int egal0(int N, int A, int W[], int X[]) { int compmax=0; sort(W, W+N); int j=A; int cnt[A]; for (int i = 0; i < A; ++i) { cnt[i]=0; } for (int i = N-1; i >= 0; --i) { int x=j; while (j>0 && X[j-1]>=W[i]) j--; if (x!=j) { cnt[j]++; compmax=max(compmax, 1); } else { int mincomp=INT_MAX, empl=-1; for (int k = j; k < A; ++k) { if (mincomp>cnt[k]) { mincomp=cnt[k]; empl=k; } } cnt[empl]++; compmax=max(compmax, cnt[empl]); } } return compmax; } int putaway(int A, int B, int N, int X[], int Y[], int W[], int S[]) { if (A!=0) sort(X, X+A); if (B!=0) sort(Y, Y+B); int maxa=((A!=0)?X[A-1]:0), maxb=((B!=0)?Y[B-1]:0); for (int i = 0; i < N; ++i) { if (W[i]>=maxa && S[i]>=maxb) return -1; } if (A==0) { return egal0(N, B, S, Y); } if (B==0) { return egal0(N, A, W, X); } if (N==2) { if ((W[0]<X[0] && S[1]<Y[0]) || (W[1]<X[0] && S[0]<Y[0])) return 1; return 2; } #define int long long #undef int return 42; }
#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...