Submission #1029794

#TimeUsernameProblemLanguageResultExecution timeMemory
1029794borisAngelovBroken Device (JOI17_broken_device)C++17
8 / 100
27 ms3124 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; int n, k; long long x; bool isBlocked[200]; void Anna(int N, long long X, int K, int P[]) { n = N; x = X; k = K; for (int i = 0; i < n; ++i) { isBlocked[i] = false; } for (int i = 0; i < k; ++i) { isBlocked[P[i]] = true; } long long bit = 0; for (int i = 0; i < n; ++i) { if (bit == 60) { Set(i, 0); continue; } if (i < n - 2 && isBlocked[i] == false && isBlocked[i + 1] == false) { if ((x & (1LL << bit)) != 0) { Set(i, 1); } else { Set(i, 0); } Set(i + 1, 1); ++i; ++bit; } else { Set(i, 0); } } }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; int a[200]; long long Bruno(int N, int A[]) { int n = N; for (int i = 0; i < n; ++i) { a[i] = A[i]; } /*for (int i = 0; i < n; ++i) { cout << a[i] << " "; } cout << endl;*/ long long ans = 0; long long bit = 0; for (int i = 0; i < n; ++i) { if (a[i] == 1) { int cnt = 1, from = i; while (i + 1 < n && a[i + 1] == 1) { ++cnt; ++i; } if (cnt % 2 == 1) { ++from; ++bit; } for (int j = from; j <= i; j += 2) { ans += (1LL << bit); ++bit; } //cout << from << " " << i << " :: " << ans << endl; } } //cout << ans << endl; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...