Submission #97555

#TimeUsernameProblemLanguageResultExecution timeMemory
97555silxikysBroken Device (JOI17_broken_device)C++14
0 / 100
73 ms3568 KiB
#include "Annalib.h" #include <vector> void Anna(int N, long long X, int K, int P[]) { int pos = 0; std::vector<int> ans(N,-1); for (int i = 0; i < K; i++) { ans[P[i]] = 0; } for (int i = 0; i < N; i += 2) { if (ans[i] == 0 || ans[i+1] == 0) { ans[i] = 0; ans[i+1] = 0; } else { if (pos > 60) { ans[i] = 0; ans[i+1] = 0; continue; } int b = ((1LL<<pos) & X); if (b == 0) { ans[i] = 0; ans[i+1] = 1; } else { ans[i] = 1; ans[i+1] = 1; } pos++; } } for (int i = 0; i < N; i++) { //assert(ans[i] == 0 || ans[i] == 1); Set(i,ans[i]); } }
#include "Brunolib.h" long long Bruno(int N, int A[]) { long long ans = 0; int pos = 0; for (int i = 0; i < N; i += 2) { int r = A[i] * 2 + A[i+1]; if (pos > 60) continue; if (r == 0) continue; else if (r == 1) { pos++; } else { ans |= (1LL<<pos); pos++; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...