제출 #69068

#제출 시각아이디문제언어결과실행 시간메모리
69068IvanCBroken Device (JOI17_broken_device)C++17
0 / 100
81 ms12368 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; const int MAXN = 150; const int MAXL = 60; static int possivel[MAXN],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]] = 0; } int last = 0,ptr = 0; while(last < MAXL && ptr + 1 < N){ if(!possivel[ptr]){ ptr++; } else{ long long digito = (X & (1LL << last)); if(digito){ if(possivel[ptr+1]){ resposta[ptr] = 1; resposta[ptr+1] = 1; last++; ptr += 2; } else{ ptr++; } } 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...