Submission #488169

#TimeUsernameProblemLanguageResultExecution timeMemory
4881698e7Bit Shift Registers (IOI21_registers)C++17
0 / 100
1 ms292 KiB
//Challenge: Accepted #include "registers.h" #include <iostream> #include <algorithm> #include <vector> #include <utility> using namespace std; void debug(){cout << endl;} template<class T, class ... U> void debug(T a, U ... b){cout << a << " ", debug(b...);} template<class T> void pary(T l, T r) { while (l != r) cout << *l << " ", l++; cout << endl; } #define ll long long #define maxn 400005 #define pii pair<int, int> #define ff first #define ss second #define io ios_base::sync_with_stdio(0);cin.tie(0); const int m = 100; const int b = 2000; int n, k; vector<bool> kb(b, 0); void clean(int id) { append_and(id, id, m - 2); } void push(int id) { for (int i = 2;i < k*2;i *= 2) { append_move(m - 1, id); append_right(m - 1, m - 1, i>>1); append_or(id, id, m - 1); } } void chmin(int ind) { append_move(m - 3, 0); append_move(1, 0); append_right(1, 1, ind*k); append_xor(2, 0, 1); clean(2); push(2); append_not(3, 2); append_and(m - 3, 3, m - 3); append_right(3, 3, 1); append_and(4, 0, 2); append_and(5, 1, 2); //d, e append_xor(4, 4, 2); append_xor(5, 5, 2); append_and(6, 4, 3), append_and(7, 5, 3); push(6), push(7); append_and(6, 6, 0), append_and(7, 7, 0); append_add(m - 3, 6, m - 3), append_add(0, m - 3, 7); } void construct_instructions(int s, int nn, int kk, int q) { n = nn, k = kk; for (int i = 0;i < k;i++) kb[i] = 1; append_store(m - 2, kb); chmin(1); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...