Submission #69067

#TimeUsernameProblemLanguageResultExecution timeMemory
69067IvanCBroken Device (JOI17_broken_device)C++17
0 / 100
2097 ms1536 KiB
#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 timeMemoryGrader output
Fetching results...