| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1310686 | takoshanava | Data Transfer (IOI19_transfer) | C++20 | 2 ms | 568 KiB |
#include <bits/stdc++.h>
#include "transfer.h"
#define pb push_back
using namespace std;
vector<int> get_attachment(vector<int> source){
int x = 0, sz = source.size();
for(int i = 0; i < sz; i++){
if(source[i]) x ^= i;
}
vector<int> vec;
int par = 0;
for(int i = 0; i < 8; i++){
if(x & (1 << i)) par ^= 1;
}
for(int i = 0; i < sz; i++){
vec.pb(source[i]);
}
for(int i = 0; i < 8; i++){
vec.pb((x&(1<<i)));
}
vec.pb(par);
return(vec);
}
vector<int> retrieve(vector<int> data){
int x = 0, num;
for(int i = 256; i < 264; i++){
if(data[i] == 1) x++;
num += 1 << (8 - i - 256);
}
vector<int> ans;
if(x != data[265]){
for(int i = 0; i < 255; i++) ans.pb(data[i]);
}else{
int val = 0;
for(int i = 0; i < 255; i++){
val ^= i;
}
int idx = val ^ num;
data[idx] ^= 1;
for(int i = 0; i < 255; i++) ans.pb(data[i]);
}
return ans;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
