이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "registers.h"
#include<bits/stdc++.h>
using namespace std;
using ll = int;
const ll m = 100, b = 2000;
void construct_instructions(int s, int n, int k, int q) {
auto get_num = [&](ll t, ll x, ll i){
append_left(t,x,b-(i+1)*k);
append_right(t,t,b-k);
//append_print(t);
};
if (s==0){
get_num(1,0,0);
vector<bool> one(b,0);
one[0] = true;
append_store(m-1,one);
auto neg = [&](ll t, ll x){
append_not(t,x);
append_add(t,t,m-1);
};
auto abs = [&](ll t, ll x, ll tmp){
neg(t,x);
append_right(tmp,x,b-k);
append_and(tmp,t,tmp);
append_not(t,x);
append_right(t,t,b-k);
append_and(t,t,x);
append_add(t,t,tmp);
};
auto uabs = [&](ll t, ll x, ll tmp){
neg(t,x);
append_not(tmp,x);
append_right(tmp,tmp,b-k*2);
append_and(tmp,t,tmp);
append_right(t,x,b-k*2);
append_and(t,t,x);
append_add(t,t,tmp);
};
for(ll i = 1;i<n;i++){
get_num(2,0,i);
neg(3,2);
append_add(3,1,3);
uabs(4,3,5);
//append_print(4);
//append_print(4);
append_add(3,1,2);
//append_print(3);
append_add(3,3,4);
//append_print(3);
append_left(1,3,n-k-1);
append_right(i+1<n,1,n-k);
}
}
}
컴파일 시 표준 에러 (stderr) 메시지
registers.cpp: In function 'void construct_instructions(int, int, int, int)':
registers.cpp:22:8: warning: variable 'abs' set but not used [-Wunused-but-set-variable]
22 | auto abs = [&](ll t, ll x, ll tmp){
| ^~~
# | 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... |