이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "gift.h"
#include "bits/stdc++.h"
#define pb emplace_back
using namespace std;
struct req{
int l, r;
};
bool cmp(req a, req b) {return a.l < b.l;}
int construct(int n, int r, vector<int> a, vector<int> b, vector<int> x) {
vector<req> one, two;
for(int i = 0; i < r; i++) {
req tmp;
tmp.l = a[i];
tmp.r = b[i];
if(x[i] == 1) one.pb(tmp);
else two.pb(tmp);
}
sort(one.begin(), one.end(), cmp);
bool arr[n + 5];
arr[0] = 0;
int rt = 0, pt = 0;
for(int i = 0; i < n; i++) {
if(i > 0) {
if(i <= rt) arr[i] = arr[i - 1];
else arr[i] = arr[i - 1] ^ 1;
}
while(pt < int(one.size()) && one[pt].l == i) {
rt = max(rt, one[pt].r);
pt++;
}
}
int ms[n + 5];
ms[0] = -1;
for(int i = 1; i < n; i++) {
if(arr[i] ^ arr[i - 1]) ms[i] = i - 1;
else ms[i] = ms[i - 1];
}
for(auto x: two) {
if(x.l > ms[x.r]) return 0;
}
string ans = "";
for(int i = 0; i < n; i++) ans += (arr[i] ? "R" : "B");
craft(ans);
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... |