Submission #71486

#TimeUsernameProblemLanguageResultExecution timeMemory
71486BruteforcemanBroken Device (JOI17_broken_device)C++11
0 / 100
74 ms11792 KiB
#include "Annalib.h" void Anna( int N, long long X, int K, int P[] ){ int broke[N]; int val[N]; for(int i = 0; i < N; i++) { broke[i] = 0; val[i] = 0; } for(int i = 0; i < K; i++) { broke[P[i]] = 1; } int bit = 0; for(int i = 0; i < N; i += 3) { if(bit > 62) break; int cnt = broke[i] + broke[i+1] + broke[i+2]; if(cnt == 1) { if((X >> bit) & 1) { if(!broke[i]) val[i] = 1; else if (!broke[i+1]) val[i+1] = 1; else val[i+2] = 1; } else { if(!broke[i]) val[i] = 1; if(!broke[i+1]) val[i+1] = 1; if(!broke[i+2]) val[i+2] = 1; } ++bit; } else if (cnt == 0) { val[i] = 1; if((X >> bit) & 1) val[i+1] = 0; else val[i+1] = 1; ++bit; } } for(int i = 0; i < N; i++) { Set(i, val[i]); } }
#include "Brunolib.h" long long Bruno( int N, int A[] ){ int bit = 0; long long ans = 0; for(int i = 0; i < N; i += 3) { if(bit > 62) break; int cnt = A[i] + A[i+1] + A[i+2]; if(cnt) { if(cnt & 1) ans |= 1LL << bit; ++bit; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...