# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1021183 | TheWilp | Handcrafted Gift (IOI20_gift) | C++14 | 160 ms | 29812 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "gift.h"
#include <algorithm>
int construct(int n, int r, std::vector<int> a, std::vector<int> b, std::vector<int> x) {
std::string s;
std::vector<std::pair<int,int>> r1,r2;
for(int q = 0;q < r;q++) {
if(x[q] == 1) {
r1.push_back({a[q],b[q]});
}
else {
r2.push_back({a[q],b[q]});
}
}
if(r1.size()) std::sort(r1.begin(),r1.end());
std::vector<int> v(n);
std::vector<int> t;
int place = 0;
int i = 0;
for(int q = 0;q < n;q++) {
while (i < r1.size() && r1[i].first == q) {
t.push_back(r1[i].second);
++i;
}
while(t.size() && t.back() <= q) t.pop_back();
v[q] = place;
if(t.size() == 0)
place++;
}
bool is_yes = true;
for(int q = 0;q < r2.size();q++){
if(v[r2[q].first] == v[r2[q].second]) {
is_yes = false;
break;
}
}
if(!is_yes) {
return 0;
}
else {
for(int q = 0;q < n;q++) {
if(v[q] % 2) {
s.push_back('R');
}
else {
s.push_back('B');
}
}
craft(s);
return 1;
}
}
컴파일 시 표준 에러 (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... |