# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
465786 | MohamedFaresNebili | Handcrafted Gift (IOI20_gift) | C++14 | 1597 ms | 12444 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "gift.h"
#include <bits/stdc++.h>
using namespace std;
int construct(int n, int r, std::vector<int> a, std::vector<int> b, std::vector<int> x) {
bool used=true; string s(n, 'X');
for(int l=0;l<r&&used;l++) {
int lo=a[l], hi=b[l], w=x[l];
if(w==1) {
char col='X';
for(int i=lo;i<=hi;i++)
if(s[i]!='X') col=s[i];
if(col=='X') col='R';
for(int i=lo;i<=hi;i++) {
if(s[i]!='X'&&s[i]!=col) used=false;
else s[i]=col;
}
}
else if(w==2) {
int red=0, blue=0;
for(int i=lo;i<=hi;i++) {
if(s[i]=='R') red++;
else if(s[i]=='B') blue++;
}
if(red&&blue) continue;
char col; bool found=true;
if(blue==0) col='B';
else col='R'; bool yes=false;
for(int i=lo;i<=hi&&found;i++) {
if(s[i]=='X') { s[i]=col; found=false; yes=true; }
}
if(!yes) used=false;
}
}
for(int l=0;l<n;l++)
if(s[l]=='X') s[l]='R';
if(used) { craft(s); return 1; }
return 0;
}
Compilation message (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... |