이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "robots.h"
#include<bits/stdc++.h>
#define fori(a,b,c) for(int a=b; a<c; a++)
#define ford(a,b,c) for(int a=b; a>=c; a--)
#define ll long long
#define pb push_back
#define mp make_pair
#define pii pair<int,int>
#define fi first
#define se second
using namespace std;
bool a[2][2];
int b[2];
int tt[1000004];
int aa[50006];
int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) {
	if(B==0){
		sort(W,W+T);
		sort(X,X+A);
		int l=A-1;
		int ans=0;
		ford(i,T-1,0){
			if(i!=T-1)
				tt[i]=tt[i+1];
			ford(j,l,0){
				if(X[j]>W[i]){
					tt[i]++;
				}
				else{
					l=j+1;
					aa[l]++;
					ans=max(ans,aa[l]);
					break;
				}		
			}
			if(i==T-1 && tt[i]==0)
				return -1;
			//cout <<  tt[i] << " " << i << " " << ans << endl;
		}
		return ans;
	}
	
	
	
	fori(i,0,2){
		int k=0;
		fori(j,0,A){
			if(W[i]<X[j]){
				a[j][i]=1;
				b[i]++;
			}
			k++;
		}
		
		fori(j,0,B){
			if(S[i]<Y[k]){
				a[k][i]=1;
				b[i]++;
			}
			k++;
		}
	}
	
	if(!b[0] || !b[1]){
		return -1;
	}
	
	if(b[0]==1 && b[1]==1){
		if((a[0][0]==0 && a[0][1]==0) || (a[1][0]==0 && a[1][1]==0) )
			return 2;
	}
	
	return 1;
}
| # | 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... |