답안 #543655

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
543655 2022-03-31T07:49:10 Z Sho10 Data Transfer (IOI19_transfer) C++17
0 / 100
7 ms 2488 KB
#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<source.size();i++)
{
    if(source[i]==1){
        xr^=(i+1);
        cnt++;
    }
}
vector<int>ans;
ans.pb(cnt%2);
if(source.size()==255){
for(int i=0;i<8;i++)
{
if((1ll<<i)&xr){
    ans.pb(1);
}else ans.pb(0);
}
}else if(source.size()==63){
for(int i=0;i<6;i++)
{
if((1ll<<i)&xr){
    ans.pb(1);
}else ans.pb(0);
}
}
return ans;
}
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;
}
data[xr-1]^=1;
for(ll i=0;i<255;i++)
{
    res.pb(data[i]);
}
return res;
}
}
/*
int32_t main(){
CODE_START;
#ifdef LOCAL
    ifstream cin("input.txt");
#endif
*/

Compilation message

transfer.cpp: In function 'std::vector<int> get_attachment(std::vector<int>)':
transfer.cpp:20:13: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 | for(ll i=0;i<source.size();i++)
      |            ~^~~~~~~~~~~~~~
transfer.cpp: In function 'std::vector<int> retrieve(std::vector<int>)':
transfer.cpp:86:1: warning: control reaches end of non-void function [-Wreturn-type]
   86 | }
      | ^
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 640 KB WA in grader: wrong source retrieval
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 2488 KB WA in grader: wrong source retrieval
2 Halted 0 ms 0 KB -