Submission #469074

#TimeUsernameProblemLanguageResultExecution timeMemory
469074OmegamanBroken Device (JOI17_broken_device)C++14
0 / 100
42 ms2876 KiB
#include "Annalib.h" #include <math.h> bool isInArr(int ArrLen, int Arr[], int val) { for ( int i = 0; i < ArrLen; i++ ) if (Arr[i] == val) return true; return false; } void Anna(int N, long long X, int K, int P[]){ const int xl = int(log2(X) + 0.5); bool d[N]; long long x = X; for( int i = 0; i < N; i++ ){ d[i] = x % 2; x /= 2; } bool F[N]; for ( int i = 0; i < N; i++ ) { F[i] = !isInArr(K, P, i); } bool M[N]; int dh = 0; int sc = 0; for( int i = 0; i < N; i++) { if (d[dh]) { if (F[i]) { M[i] = 1; dh++; } else { M[i + 0] = 0; M[i + 1] = 0; i++; sc++; } } else { if (sc < 40) { if (F[i + 1]) { M[i + 0] = 0; M[i + 1] = 1; dh++; } else { M[i + 0] = 0; M[i + 1] = 0; sc++; } i++; } else { M[i] = 0; dh++; } } } for ( int i = 0; i < N; i++ ) { Set(i, (int)M[i]); } }
#include "Brunolib.h" long long Bruno( int N, int A[] ) { long long X = 0; long long inc = 1; int len = (N < 60 ? N : 60); bool d[len]; for( int i = 0; i < len; i++) d[i] = 0; int dh = 0; int sc = 0; for( int i = 0; i < N; i++) { if(A[i]) { d[dh] = 1; dh++; } else { if (sc < 40) { if (A[i + 1]) { d[dh] = 0; dh++; } else { sc++; } i++; } else { d[dh] = 0; dh++; } } } for (int i = 0; i < len; i++) { X += inc * d[i]; inc *= 2; } return X; }

Compilation message (stderr)

Anna.cpp: In function 'void Anna(int, long long int, int, int*)':
Anna.cpp:12:12: warning: unused variable 'xl' [-Wunused-variable]
   12 |  const int xl = int(log2(X) + 0.5);
      |            ^~
#Verdict Execution timeMemoryGrader output
Fetching results...