Submission #543673

# Submission time Handle Problem Language Result Execution time Memory
543673 2022-03-31T08:13:14 Z Sho10 Data Transfer (IOI19_transfer) C++17
32 / 100
97 ms 2504 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>g;
g.pb(cnt%2);
if(source.size()==255){
for(int i=0;i<=10;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<data.size();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
*/

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:60:19: 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]
   60 |     for(ll i=256;i<data.size();i++)
      |                  ~^~~~~~~~~~~~
transfer.cpp:80:1: warning: control reaches end of non-void function [-Wreturn-type]
   80 | }
      | ^
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 648 KB WA in grader: wrong source retrieval
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Partially correct 97 ms 2492 KB Partially correct
2 Partially correct 78 ms 2492 KB Partially correct
3 Partially correct 80 ms 2496 KB Partially correct
4 Partially correct 89 ms 2444 KB Partially correct
5 Partially correct 97 ms 2496 KB Partially correct
6 Partially correct 94 ms 2496 KB Partially correct
7 Partially correct 90 ms 2448 KB Partially correct
8 Partially correct 88 ms 2488 KB Partially correct
9 Partially correct 85 ms 2488 KB Partially correct
10 Partially correct 86 ms 2444 KB Partially correct
11 Partially correct 81 ms 2496 KB Partially correct
12 Partially correct 80 ms 2488 KB Partially correct
13 Partially correct 82 ms 2448 KB Partially correct
14 Partially correct 81 ms 2448 KB Partially correct
15 Partially correct 80 ms 2496 KB Partially correct
16 Partially correct 85 ms 2456 KB Partially correct
17 Partially correct 85 ms 2496 KB Partially correct
18 Partially correct 84 ms 2496 KB Partially correct
19 Partially correct 81 ms 2504 KB Partially correct