# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
308838 | kylych03 | 로봇 (IOI13_robots) | C++14 | 270 ms | 8344 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "robots.h"
//#include "grader.cpp"
#include <bits/stdc++.h>
using namespace std;
pair <int,int> toy[1000002];
int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) {
sort(X, X+A);
sort(Y, Y+B);
for(int i = 0 ; i < T ; i++){
toy[i].first = W[i];
toy[i].second = S[i];
}
sort(toy, toy + T);
reverse(toy, toy + T);
if(T==2 && A+B ==2){
if(A==2){
if(X[1] <= max(W[0], W[1]) )
return -1;
if(X[0] <= min(W[0], W[1]) )
return 2;
return 1;
}
else
if(A==1){
if( (X[0] > W[0] && Y[0] > S[1]) || (X[0] > W[1] && Y[0] > S[0]) )
return 1;
if((X[0] <= W[0] && Y[0]<= S[0] ) || (X[0] <= W[1] && Y[0]<= S[1] ) )
return -1;
return 2;
}
else{
if(Y[1] <= max(S[0], S[1]) )
return -1;
if(Y[0] <= min(S[0], S[1]) )
return 2;
return 1;
}
}
reverse( X, X+ A);
reverse( Y, Y+ B);
int res = (T + A -1 )/ A;
int a = A;
int b = B;
int t = T;
A--;
B--;
T--;
if(B==-1 && toy[T].first >= X[A])
return -1;
while (A!= -1 && T!=-1 ){
while( T!=-1 && toy[T].first >= X[A])
T--;
res = max ( (t - T - 1 + (a-A) -1) / (a-A), res );
A--;
}
if(T!=-1){
res = max ( (t - T - 1 + (a-A) -1) / (a-A), res );
}
return res;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |