Submission #782003

#TimeUsernameProblemLanguageResultExecution timeMemory
782003Dan4LifeData Transfer (IOI19_transfer)C++17
0 / 100
5 ms2456 KiB
#include <bits/stdc++.h> using namespace std; using vi=vector<int>; #define sz(a) a.size() vi get_attachment(vi v) { int x = 0, y = 0, m = sz(v)<99?6:8; vi a; for(int i = 0; i < sz(v); i++) if(v[i]) x^=i+1; for(int i = 0; i < m; i++) a.push_back((x>>i)&1), y^=(x>>i)&1; a.push_back(y); return a; } vi retrieve(vi v){ int x = 0, xx = 0, y = 0, m = sz(v)<99?6:8, n=sz(v)<99?63:255; for(int i = 0; i < n; i++) if(v[i]) x^=i+1; for(int i = 0; i < m; i++) if(v[n+i]) xx^=(1<<i), y^=1; if(v.back()==y and x!=xx) v[(x^xx)-1]^=1; return v; }

Compilation message (stderr)

transfer.cpp: In function 'vi get_attachment(vi)':
transfer.cpp:8:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    8 |  for(int i = 0; i < sz(v); i++) if(v[i]) x^=i+1;
      |                   ^
transfer.cpp: In function 'vi retrieve(vi)':
transfer.cpp:17:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   17 |  if(v.back()==y and x!=xx) v[(x^xx)-1]^=1; return v;
      |  ^~
transfer.cpp:17:44: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   17 |  if(v.back()==y and x!=xx) v[(x^xx)-1]^=1; return v;
      |                                            ^~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...