Submission #444826

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
4448262021-07-15 14:07:12XellosBit Shift Registers (IOI21_registers)C++17
22 / 100
1 ms332 KiB
#include "registers.h"
#include <vector>
using namespace std;
constexpr static int B = 2000;
void construct_instructions(int s, int n, int k, int q) {
// pad with 1
vector<bool> ones_pad(B, false);
for(int i = n*k; i < 128*k; i++) ones_pad[i] = true;
append_store(1, ones_pad);
append_or(2, 0, 1);
int offset = 2;
vector<bool> first_bits_0[11];
for(int i = 1; i <= k; i++) {
first_bits_0[i].resize(B, false);
for(int j = 0; j < 128*k; j++) first_bits_0[i][j] = (j%k >= i);
}
vector<bool> last_bits_0[11];
for(int i = 1; i <= k; i++) {
last_bits_0[i].resize(B, false);
for(int j = 0; j < 128*k; j++) last_bits_0[i][j] = (j%k < k-i);
}
append_store(0, last_bits_0[1]);
append_store(1, first_bits_0[1]);
for(int j = 0; j < 7; j++) {
// offset holds "input"
// split to 2 parts
append_right(offset+1, offset, k<<(6-j));
append_xor(offset+2, offset, offset+1); // X
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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...