Submission #1165105

#TimeUsernameProblemLanguageResultExecution timeMemory
1165105SangBroken Device (JOI17_broken_device)C++20
61 / 100
30 ms1560 KiB
#include "Annalib.h" #include<bits/stdc++.h> using namespace std; #define FOR(i, a, b) for (int i = (a), _b = (b); i <= _b; i++) #define FORD(i, a, b) for (int i = (a), _b = (b); i >= _b; i--) #define fi first #define se second #define pb push_back #define ALL(a) (a).begin(), (a).end() #define task "kbsiudthw" typedef vector<int> vi; typedef pair<int, int> ii; typedef pair<int, ii> pii; void Anna(int n, long long x, int K, int P[]){ vector<int> bit, marked(n, 0); while (x){ bit.pb(x%3); x /= 3; } reverse(ALL(bit)); FOR (i, 0, K - 1) marked[P[i]] = 1; for (int i = 0; i < n; i += 3){ if (marked[i] + marked[i+1] + marked[i+2] > 1 || bit.empty()){ Set(i, 0); Set(i+1, 0); Set(i+2, 0); continue; } int x = bit.back(); bit.pop_back(); if (x == 0){ Set(i, marked[i+2]); Set(i+1, marked[i+2]); Set(i+2, marked[i+2]^1); } if (x == 1){ Set(i, marked[i] ^ 1); Set(i+1, marked[i]); Set(i+2, marked[i]); } if (x == 2){ Set(i, marked[i+1]); Set(i+1, marked[i+1]^1); Set(i+2, marked[i+1]); } } }
#include "Brunolib.h" #include<bits/stdc++.h> using namespace std; #define FOR(i, a, b) for (int i = (a), _b = (b); i <= _b; i++) #define FORD(i, a, b) for (int i = (a), _b = (b); i >= _b; i--) #define fi first #define se second #define pb push_back #define ALL(a) (a).begin(), (a).end() #define task "kbsiudthw" typedef vector<int> vi; typedef pair<int, int> ii; typedef pair<int, ii> pii; long long Bruno(int n, int A[]){ long long po3 = 1, ans = 0; for (int i = 0; i < n; i += 3){ string t; FOR (j, 0, 2) t += (A[i + j] + '0'); if (t == "000") continue; if (t == "001" || t == "110"){ po3 *= 3; } if (t == "011" || t == "100"){ ans += po3; po3 *= 3; } if (t == "010" || t == "101"){ ans += 2 * po3; po3 *= 3; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...