Submission #1198442

#TimeUsernameProblemLanguageResultExecution timeMemory
1198442SofiatpcData Transfer (IOI19_transfer)C++20
0 / 100
6 ms1984 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...