Submission #1061461

#TimeUsernameProblemLanguageResultExecution timeMemory
1061461amine_arouaBit Shift Registers (IOI21_registers)C++17
23 / 100
2 ms1044 KiB
#include "registers.h" #include<bits/stdc++.h> using namespace std; const int B = 2000; const int fi = 5 , se = 6 , th = 7 , fo = 8; const int full = 1 , one = 2 , x = 3 , y = 4 , extra = 9; void construct_instructions(int s, int n, int k, int q) { vector<bool> v(2000); for(int i = 0 ; i < k ;i++) v[i] = 1; append_store(full , v); v.assign(2000 , 0); v[0] = 1; append_store(one , v); for(int j = 0 ; j < n - 1 ; j++) { for(int i = 1 ; i < n ; i++) { append_right(x , 0 , (i - 1)*k); append_and(x , x , full); append_right(y , 0 , i*k); append_and(y , y , full); // 4 : y append_not(fi , y); append_add(fi , fi , one); append_add(fi , fi , x); // 5 : d>>(B - 1) append_right(fi , fi , B - 1); for(int l = 1 ;l < k ; l++) { append_left(se , fi , 1); append_or(fi , fi , se); } append_xor(se , fi , full); append_move(th , se); append_move(fo , fi); append_and(th , th , x); append_and(fo , fo , y); append_and(fi , fi , x); append_and(se , se , y); append_or(x , fi , se); append_or(y , th , fo); append_left(x , x,(i - 1)*k); append_left(y , y , i * k); append_or(0 , 0 , x); append_or(0 , 0 , y); v.assign(B , 1); for(int l = (i - 1) * k ; l < i * k ; l++) { v[l] = 0; } append_store(extra , v); append_or(x , x , extra); v.assign(B , 1); for(int l = i * k ; l < (i+1) * k ; l++) { v[l] = 0; } append_store(extra , v); append_or(y , y , extra); append_and(0 , 0 , x); append_and(0 , 0 , y); } } }
#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...