#include "registers.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ari2 = array<int, 2>;
using ari3 = array<int, 3>;
using arl2 = array<ll, 2>;
using arl3 = array<ll, 3>;
template <class T> using vt = vector<T>;
#define all(x) begin(x), end(x)
#define size(x) (int((x).size()))
#define REP(a,b,c,d) for(int a=(b);(d)>0?a<=(c):a>=(c);a+=(d))
#define FOR(a,b,c) REP(a,b,c,1)
#define ROF(a,b,c) REP(a,b,c,-1)
constexpr int M = 100, B = 2000;
void construct_instructions(int s, int n, int k, int q) {
if (s || n != 2 || k > 2)
return;
if (k == 1) {
append_move(1, 0);
append_right(0, 0, 1);
append_left(1, 1, B-1);
append_right(1, 1, B-1);
append_and(0, 0, 1);
return;
}
append_move(1, 0);
append_move(2, 0);
append_move(3, 0);
append_right(0, 0, 3);
append_left(1, 1, B-3);
append_right(1, 1, B-1);
append_left(2, 2, B-2);
append_right(2, 2, B-1);
append_left(3, 3, B-1);
append_right(3, 3, B-1);
#ifdef DEBUG
append_print(0);
append_print(1);
append_print(2);
append_print(3);
#endif
append_or(4, 0, 1);
append_or(5, 2, 3);
append_xor(6, 0, 2);
append_and(7, 1, 3);
append_and(8, 0, 2);
append_left(8, 8, 1);
append_or(0, 6, 7);
append_and(0, 0, 4);
append_and(0, 0, 5);
append_or(0, 0, 8);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |