이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "robots.h"
#include <bits/stdc++.h>
const int N = 1e6 + 6 ;
using namespace std ;
int AA , BB , TT ;
vector<int> XX , YY , WW , SS ;
vector<int> appear[N] ;
bool check(int x){
priority_queue<int> q ;
for(int i = 0 ; i < AA ; i++){
for(int j = 0 ; j < appear[i].size() ; j++){
q.push(appear[i][j]) ;
}
int sz = min((int)q.size() , x) ;
for(int j = 0 ; j < sz ; j++){
q.pop() ;
}
}
for(int i = 0 ; i < appear[AA].size() ; i++){
q.push(appear[AA][i]) ;
}
for(int i = 0 ; i < BB ; i++){
int sz = min((int)q.size() , x ) ;
for(int j = 0 ; j < sz ; j++){
if(q.top() < YY[i])
{
q.pop() ;
}
else break;
}
}
return !q.size();
}
int putaway(int A, int B, int T, int X[], int Y[], int W[], int S[]) {
AA = A ; BB = B ; TT = T ;
for(int i = 0 ; i < A ; i++){
XX.push_back(X[i]) ;
}
for(int i = 0 ; i < B ; i++){
YY.push_back(Y[i]) ;
}
sort(XX.begin() , XX.end()) ;
sort(YY.begin() , YY.end()) ;
for(int i = 0 ; i < T ; i++){
int i1 = upper_bound(XX.begin() , XX.end() , W[i] ) - XX.begin() ;
int i2 = upper_bound(YY.begin() , YY.end(), S[i]) - YY.begin() ;
if(i1==A && i2==B)
return -1 ;
appear[i1].push_back(S[i]) ;
}
for(int i = 0 ; i < A ; i++){
sort(appear[i].begin() , appear[i].end() , greater<int>()) ;
}
sort(YY.begin() , YY.end(), greater<int>()) ;
int l = 1 , r = T ;
int ans = -1;
while(l<=r){
int mid = (l+r) /2;
if(check(mid)){
ans = mid ;
r = mid - 1 ;
}
else{
l = mid + 1 ;
}
}
return ans ;
}
컴파일 시 표준 에러 (stderr) 메시지
robots.cpp: In function 'bool check(int)':
robots.cpp:16:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int j = 0 ; j < appear[i].size() ; j++){
~~^~~~~~~~~~~~~~~~~~
robots.cpp:24:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i = 0 ; i < appear[AA].size() ; i++){
~~^~~~~~~~~~~~~~~~~~~
# | 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... |