This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define sz(x) (int)(x).size()
typedef long long ll;
typedef long double ld;
#include "registers.h"
void construct_instructions(int s, int n, int k, int q) {
append_move(1 , 0);
vector < bool > empt(2000), one(2000);
for(int t=0;t<k;++t)
empt[t]=1;
one[0] = 1;
for(int i = 1; i < n; ++i){
append_move(2 , 0);
append_right(2 , 2 , k * i);
append_store(3 , empt);
append_and(1 , 1 , 3);
append_and(2 , 2 , 3);
/// a, b
append_move(3 , 2);
/// a, b , b
append_not(3 , 3);
append_store(4 , one);
append_print(3);
append_add(3 , 3 , 4);
append_add(3 , 3 , 1);
/// in 3 we have a-b
/// if (a - b) > 0 then by this op we will have zeros otherwise ones
append_move(1 , 3);
append_right(3 , 3 , k);
/// if there are zeros than a - b > 0 then b is the option
/// otherwise a is option and a - b < 0 a-b + b = a
append_and(1 , 1 , 3);
append_add(1 , 1 , 2);
}
append_store(2 , empt);
append_and(1 , 1 , 2);
append_move(0 , 1);
}
| # | 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... |