# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
72702 | ikura355 | Broken Device (JOI17_broken_device) | C++14 | 77 ms | 3984 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 "Annalib.h"
#include<bits/stdc++.h>
using namespace std;
const int maxn = 150 + 5;
int bad[maxn], res[maxn];
void Anna(int N, long long X, int K, int P[]) {
for(int i=0;i<N;i++) bad[i] = 0;
for(int i=0;i<K;i++) bad[P[i]] = 1;
for(int i=0;i<N;i++) res[i] = 0;
for(int i=0;i<N;i+=3) {
if(bad[i] + bad[i+1] + bad[i+2] == 0) {
int val = X%4;
if(val==0) res[i] = res[i+2] = 1;
if(val==1) res[i+1] = 1;
if(val==2) res[i] = res[i+1] = res[i+2] = 1;
if(val==3) res[i+1] = 1, res[i+2] = 1;
X /= 4;
}
else if(bad[i] + bad[i+1] + bad[i+2] == 1) {
int val = X%2;
if(val==0) {
if(bad[i] || bad[i+1]) res[i+2] = 1;
if(bad[i+2]) res[i] = res[i+1] = 1;
}
if(val==1) {
if(bad[i+1] || bad[i+2]) {
res[i] = 1;
}
if(bad[i]) {
if(X%4 == 1) res[i+1] = 1;
if(X%4 == 3) res[i+1] = 1, res[i+2] = 1;
X /= 2;
}
}
X /= 2;
}
}
for(int i=0;i<N;i++) Set(i,res[i]);
}
#include "Brunolib.h"
#include<bits/stdc++.h>
using namespace std;
long long Bruno(int N, int A[]) {
long long ans = 0;
for(int i=N-3;i>=0;i-=3) {
int x = A[i], y = A[i+1], z = A[i+2];
int val = x*4 + y*2 + z;
if(val==1 || val==6) ans = ans*2;
if(val==4) ans = ans*2 + 1;
if(val==2) ans = ans*4 + 1;
if(val==3) ans = ans*4 + 3;
if(val==5) ans = ans*4;
if(val==7) ans = ans*4 + 2;
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |