Submission #101874

#TimeUsernameProblemLanguageResultExecution timeMemory
101874hugo_pmBroken Device (JOI17_broken_device)C++17
41 / 100
75 ms3072 KiB
#include "Annalib.h" typedef long long llg; const int borne = 155; int lenSeq, nbCas; bool bloque[borne]; int ret[borne]; long long nombre; void solve() { int i = 0; for (int b = 59; b >= 0; --b) { int c = 0; if (nombre & (1LL << (long long)(b))) c = 1; while (bloque[i] || (bloque[i+1] && c)) ++i; if (i+1 >= lenSeq) return; ret[i] = 1; ret[i+1] = c; i += 2; } } void Anna( int N, long long X, int K, int P[] ){ lenSeq = N; nombre = X; for (int i = 0; i < N; ++i) { bloque[i] = false; ret[i] = 0; } for (int i = 0; i < K; ++i) bloque[P[i]] = true; solve(); for (int i = 0; i < N; ++i) Set(i, ret[i]); return; }
#include "Brunolib.h" long long Bruno( int N, int A[] ){ long long X = 0; int i = 0; for (int b = 59; b >= 0; --b) { while (A[i] == 0) ++i; ++i; if (A[i] == 1) X += 1LL << (long long)(b); ++i; } return X; }
#Verdict Execution timeMemoryGrader output
Fetching results...