Submission #1239923

#TimeUsernameProblemLanguageResultExecution timeMemory
1239923SpyrosAlivBroken Device (JOI17_broken_device)C++20
0 / 100
0 ms320 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; #define ll long long const int BITS = 61; void Anna(int N, long long X, int K, int P[]){ int n = N; ll x = X; int k = K; vector<bool> ok(n, true); for (int i = 0; i < k; i++) { ok[P[i]] = false; Set(P[i], 0); } int curr = 0; for (int i = 0; i < BITS; i++) { cout << i << " " << curr << "\n"; int send = ((x >> i) & 1); if (send == 1) { while (!ok[curr]) curr++; Set(curr, 1); if (curr < n-1) { if (ok[curr+1]) Set(curr+1, 0); curr+=2; } continue; } else { while (!ok[curr] || !ok[curr+1]) curr++; Set(curr, 1); Set(curr+1, 1); curr += 2; } } cout << curr << "\n"; while (curr < n) { Set(curr, 0); curr++; } }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; #define ll long long const int BITS = 61; long long Bruno(int N, int A[]){ ll x = 0; vector<bool> sendOn(BITS, false); int n = N; int curr = 0; for (int i = 0; i < n-1; i++) { if (A[i] && A[i+1]) { sendOn[curr] = false; curr+=2; } else if (A[i]) { sendOn[curr] = true; curr++; } } for (int i = 0; i < BITS; i++) { if (sendOn[i]) { x |= (1LL << i); } } return x; }
#Verdict Execution timeMemoryGrader output
Fetching results...