# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
61224 | gs14004 | Broken Device (JOI17_broken_device) | C++17 | 86 ms | 3944 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;
int seq[222];
int chk[222];
void Embed(int pos, int val){
Set(pos, val >> 2);
Set(pos + 1, (val >> 1) & 1);
Set(pos + 2, val & 1);
}
void Anna( int N, long long X, int K, int P[] ){
for(int i=0; i<60; i++){
seq[i] = (X >> i) & 1;
}
for(int i=0; i<150; i++) chk[i] = 1;
for(int i=0; i<K; i++){
chk[P[i]] = 0;
}
int ptr = 0;
for(int i=0; i<150; i+=3){
if(chk[i] + chk[i+1] + chk[i+2] <= 1){
Embed(i, 0);
}
else if(chk[i] + chk[i+1] + chk[i+2] == 3){
if(seq[ptr] == 0 && seq[ptr+1] == 0){
Embed(i, 4);
}
else if(seq[ptr] == 0 && seq[ptr+1] == 1){
Embed(i, 6);
}
else if(seq[ptr] == 1 & seq[ptr+1] == 0){
Embed(i, 3);
}
else{
Embed(i, 7);
}
ptr += 2;
}
else{
if(seq[ptr] == 0){
if(chk[i+2] == 1){
Embed(i, 1);
ptr++;
}
else{
if(seq[ptr+1] == 0){
Embed(i, 4);
}
else{
Embed(i, 6);
}
ptr += 2;
}
}
else{
if(chk[i+1] == 0) Embed(i, 5);
else Embed(i, 2);
ptr++;
}
}
}
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;
long long Bruno( int N, int A[] ){
vector<int> ans;
for(int i=0; i<150; i+=3){
int val = (A[i] << 2) | (A[i+1] << 1) | (A[i+2]);
if(val == 1){
ans.push_back(0);
}
if(val == 2){
ans.push_back(1);
}
if(val == 3){
ans.push_back(1);
ans.push_back(0);
}
if(val == 4){
ans.push_back(0);
ans.push_back(0);
}
if(val == 5){
ans.push_back(1);
}
if(val == 6){
ans.push_back(0);
ans.push_back(1);
}
if(val == 7){
ans.push_back(1);
ans.push_back(1);
}
}
long long dap = 0;
assert(ans.size() >= 60);
for(int i=0; i<60; i++){
if(ans[i]) dap |= (1ll << i);
}
return dap;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |