이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "king.h"
#include<algorithm>
using namespace std;
long long SendInfo(vector<int> W, vector<int> C) {
int N = W.size();
sort(W.begin(), W.end());
sort(C.begin(), C.end());
int j=0,cnt=0,bef=-1;
long long ret=0;
for(int i=0;i<N;i++,j++){
while(j<C.size()&&W[i]>C[j]) j++;
if(j<C.size()) {
if(bef!=W[i]) cnt=1;
else cnt++;
ret=(W[i]<<20)+cnt;
bef = W[i];
}
else break;
}
return ret;
}
#include "vassal.h"
#include <bits/stdc++.h>
using namespace std;
long long Wmax, nmax;
set<pair<int,int>> se;
int cnt;
void Init(long long B, vector<int> C){
for(int i=0;i<C.size();i++){
se.insert(make_pair(C[i],i));
}
nmax = B&((1<<20)-1);
Wmax = B>>20;
}
int Maid(int W){
if(W<Wmax){
auto it = se.lower_bound(make_pair(W,0));
int ret = it->second;
se.erase(it);
return ret;
}
if(W==Wmax){
if(cnt>=nmax) return -1;
cnt++;
auto it = se.lower_bound(make_pair(W,0));
int ret = it->second;
se.erase(it);
return ret;
}
return -1;
}
컴파일 시 표준 에러 (stderr) 메시지
king.cpp: In function 'long long int SendInfo(std::vector<int>, std::vector<int>)':
king.cpp:13:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while(j<C.size()&&W[i]>C[j]) j++;
~^~~~~~~~~
king.cpp:14:7: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(j<C.size()) {
~^~~~~~~~~
vassal.cpp: In function 'void Init(long long int, std::vector<int>)':
vassal.cpp:8:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i=0;i<C.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... |