Submission #1307656

#TimeUsernameProblemLanguageResultExecution timeMemory
1307656florescentBroken Device (JOI17_broken_device)C++20
0 / 100
18 ms1532 KiB
//STRIKER! #include <iostream> #include <vector> #include <stack> #include <algorithm> #include <string> #include <map> #include <set> #include <unordered_map> #include <cmath> #include <queue> #include <iomanip> #include <numeric> #include <random> #include <chrono> #include "Annalib.h" using namespace std; //#define int int64_t //uint64_t #define pb push_back #define perfectblue cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(false); #define all(a) a.begin(), a.end() #define sz(a) ((int)a.size()) void Anna(int N, long long X, int K, int P[]) { vector<int> is(N, 0); for (int i = 0; i < K; i++) { is[P[i]] = 1; } string ans = ""; for (int i = 0; i < N - 2; i += 3) { int sum = is[i] + is[i + 1] + is[i + 2]; if (sum > 1) { continue; } if (sum == 1) { if (is[i]) { if (X & 1) { ans += "010"; } else { ans += "001"; } } else if (is[i + 1]) { if (X & 1) { ans += "101"; } else { ans += "001"; } } else { if (X & 1) { ans += "010"; } else if (X & 2) { ans += "110"; } else { ans += "100"; } } X >>= 1; } else { if (X & 3) { ans += "111"; } else if (X & 2) { ans += "110"; } else if (X & 1) { ans += "011"; } else { ans += "100"; } X >>= 2; } } for (int i = 0; i < N; i++) { if (ans[i] - '0') { Set(i, 1); } else { Set(i, 0); } } }
//STRIKER! #include <iostream> #include <vector> #include <algorithm> #include <string> #include <map> #include <set> #include <unordered_map> #include <cmath> #include <queue> #include <iomanip> #include <numeric> #include <random> #include <chrono> #include "Brunolib.h" using namespace std; //#define int int64_t //uint64_t #define pb push_back #define perfectblue cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(false); #define all(a) a.begin(), a.end() #define sz(a) ((int)a.size()) long long Bruno(int N, int A[]) { long long ans = 0; for (int i = N - 1; i - 2 >= 0; i -= 3) { if (A[i] == 0 and A[i - 1] == 0 and A[i - 2] == 1) { ans <<= 1; } else if (A[i] == 0 and A[i - 1] == 1 and A[i - 2] == 0) { ans <<= 1; ans++; } else if (A[i] == 1 and A[i - 1] == 0 and A[i - 2] == 0) { ans <<= 2; } else if (A[i] == 0 and A[i - 1] == 1 and A[i - 2] == 1) { ans <<= 2; ans++; } else if (A[i] == 1 and A[i - 1] == 1 and A[i - 2] == 0) { ans <<= 1; ans++; ans <<= 1; } else if (A[i] == 1 and A[i - 1] == 0 and A[i - 2] == 1) { ans <<= 1; ans++; } else if (A[i] == 1 and A[i - 1] == 1 and A[i - 2] == 1) { ans <<= 1; ans++; ans <<= 1; ans++; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...