# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
69067 | IvanC | Broken Device (JOI17_broken_device) | C++17 | 2097 ms | 1536 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 = 210;
const int MAXL = 60;
static int possivel[MAXN][2],resposta[MAXN];
void Anna( int N, long long X, int K, int P[] ){
memset(possivel,1,sizeof(possivel));
for(int i = 0;i<K;i++){
possivel[P[i]][1] = 0;
}
int last = 0,ptr = 0;
while(last < MAXL && ptr < N){
if(!possivel[ptr][1]){
ptr++;
}
else{
long long digito = (X & (1LL << last));
if(digito){
if(possivel[ptr+1][1]){
resposta[ptr] = 1;
resposta[ptr+1] = 1;
last++;
ptr += 2;
}
}
else{
resposta[ptr] = 1;
resposta[ptr+1] = 0;
last++;
ptr += 2;
}
}
}
for(int i =0;i<N;i++){
Set( i, resposta[i] );
}
}
#include "Brunolib.h"
long long Bruno( int N, int A[] ){
long long ans = 0;
int last = 0;
int i = 0;
while(i < N){
if(A[i] == 1){
ans += (A[i+1])*(1LL << last);
last++;
i += 2;
}
else{
i++;
}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |