Submission #115893

#TimeUsernameProblemLanguageResultExecution timeMemory
115893aminraBroken Device (JOI17_broken_device)C++14
0 / 100
38 ms3072 KiB
#include <bits/stdc++.h> #include "Annalib.h" using namespace std; typedef long long ll; typedef long double ld; const int MOD = (int)1e9 + 7; const int MAXN = (int)153; const int infint = (int)1e9 + 3; const ll inf = (ll)1e18; int ans[MAXN], bad[MAXN]; void build(int i, int b1, int b2, int b3) { ans[i] = b1, ans[i + 1] = b2, ans[i + 2] = b3; return; } void Anna(int N, ll X, int k, int P[]) { memset(bad, 0, sizeof bad); memset(ans, 0, sizeof ans); for (int i = 0; i < k; i++) bad[P[i]] = 1; for (int i = 0; i < N; i += 3) { if(bad[i] + bad[i + 1] + bad[i + 2] > 1) { build(i, 0, 0, 0); continue; } if(bad[i] + bad[i + 1] + bad[i + 2] == 0) { if(X % 4 == 0) build(i, 1, 0, 0); if(X % 4 == 1) build(i, 0, 1, 1); if(X % 4 == 2) build(i, 1, 0, 1); if(X % 4 == 3) build(i, 1, 1, 1); X /= 4; continue; } if(bad[i + 1] == 0) { if(X % 2 == 0) build(i, 0, 1, 0); else if(bad[i + 2] == 0) build(i, 0, 0, 1); else build(i, 1, 1, 0); X /= 2; continue; } else { if(X % 2 == 0) build(i, 0, 0, 1), X /= 2; else if(X % 4 == 0) build(i, 1, 0, 0), X /= 4; else build(i, 1, 0, 1), X /= 4; } } for (int i = 0; i < N; i++) Set(i, ans[i]); } /*int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); }*/
#include "Brunolib.h" #include <bits/stdc++.h> #define ll long long using namespace std; long long Bruno( int N, int A[] ){ ll ans = 0, pw = 1; for(int i = 0; i < N; i += 3) { int val = A[i] * 4 + A[i + 1] * 2 + A[i + 2]; if(val == 0) { continue; } if(val == 2) { pw *= 2; continue; } if(val == 1 || val == 6) { ans += pw; pw *= 2; continue; } if(val == 3) { ans += pw; } if(val == 4) { ans += 0; } if(val == 5) { ans += pw * 2; } if(val == 7) { ans += 3 * pw; } pw *= 4; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...