# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
543668 | Sho10 | Data Transfer (IOI19_transfer) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h> //Andrei Alexandru a.k.a Sho
using ll=long long;
using ld=long double;
int const INF=1000000005;
ll const LINF=1000000000000000005;
ll const mod=1000000007;
ld const PI=3.14159265359;
ll const MAX_N=3e5+5;
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#define f first
#define s second
#define pb push_back
#define mp make_pair
#define endl '\n'
#define CODE_START ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
using namespace std;
vector<int> get_attachment(vector<int>source){
ll xr=0,cnt=0;
for(ll i=0;i<1e18;i++)
{
data.pb(0);
}
for(ll i=0;i<source.size();i++)
{
if(source[i]==1){
xr^=(i+1);
cnt++;
}
}
vector<int>g;
g.pb(cnt%2);
if(source.size()==255){
for(int i=0;i<8;i++)
{
if((1ll<<i)&xr){
g.pb(1);
}else g.pb(0);
}
}
return g;
}
vector<int> retrieve(vector<int>data){
if(data.size()>=200){
ll x=data[255];
ll cnt=0;
ll xr=0;
for(ll i=0;i<255;i++)
{
if(data[i]==1){
cnt++;
xr^=(i+1);
}
}
vector<int>res;
if(cnt%2!=x){
for(ll i=0;i<255;i++)
{
res.pb(data[i]);
}
return res;
}
for(ll i=256;i<264;i++)
{
if(data[i]==1){
xr^=(1ll<<(i-256));
}
}
if(xr==0){
for(ll i=0;i<255;i++)
{
res.pb(data[i]);
}
return res;
}
for(ll i=0;i<255;i++)
{
res.pb(data[i]);
}
res[xr-1]^=1;
return res;
}
}
/*
int32_t main(){
CODE_START;
#ifdef LOCAL
ifstream cin("input.txt");
#endif
*/