#include "transfer.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> get_attachment(vector<int> source) {
source.push_back(0);
int n = source.size(), p = 0, imp = 0;
vector<int> v;
v.push_back(0);
for(int i = 0; i < n; i+=2){
p ^= source[i];
imp ^= source[i+1];
v.push_back(source[i]^source[i+1]);
}
v.push_back(p);
v.push_back(imp);
return v;
}
vector<int> retrieve(vector<int> data) {
int n;
if(data.size() >= 256)n = 256;
else n = 64;
vector<int> og;
int p = 0, imp = 0, id = -1;
for(int i = 0; i < n; i+=2){
og.push_back(data[i]);
og.push_back(data[i+1]);
p ^= data[i];
imp ^= data[i+1];
if( (data[i]^data[i+1]) != data[n+i/2]) id = i;
}
if(id != -1){
if(imp != data.back())og[id+1] ^= 1;
else og[id] ^= 1;
}
og.pop_back();
return og;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |