Submission #1308950

#TimeUsernameProblemLanguageResultExecution timeMemory
1308950viobowData Transfer (IOI19_transfer)C++17
100 / 100
42 ms1736 KiB
#include "transfer.h" #include <bits/stdc++.h> using namespace std; #define data __data__ int xor_value(const vector<int> &v) { int res = 0; for (int x : v) res ^= x; return res; } int xor_index(const vector<int> &v) { int res = 0; for (int i = 0; i < (int)v.size(); i++) if (v[i]) res ^= (i + 1); return res; } vector<int> get_attachment(vector<int> source) { int k; if (source.size() == 63) k = 7; else k = 9; vector<int> send(k); send[0] = xor_value(source); int source_idx_xor = xor_index(source); for (int i = 0; i < k - 1; i++) send[i + 1] = (source_idx_xor >> i & 1); return send; } vector<int> retrieve(vector<int> data) { int n, k; if (data.size() == 70) n = 63, k = 7; else n = 255, k = 9; vector<int> res(n); for (int i = 0; i < n; i++) res[i] = data[i]; int other_xor_idx = 0; for (int i = 0; i < k - 1; i++) other_xor_idx |= (data[n + 1 + i] << i); if (xor_value(res) == data[n]) return res; else if (xor_index(res) == other_xor_idx) return res; else res[(other_xor_idx ^ xor_index(res)) - 1] ^= 1; return res; }

Compilation message (stderr)

grader.cpp: In instantiation of 'void shuffle(std::vector<T>&) [with T = Scenario]':
grader.cpp:200:10:   required from here
grader.cpp:28:23: warning: 'void std::random_shuffle(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<Scenario*, vector<Scenario> >]' is deprecated: use 'std::shuffle' instead [-Wdeprecated-declarations]
   28 |         random_shuffle(v.begin(), v.end());
      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:61,
                 from grader.cpp:8:
/usr/include/c++/13/bits/stl_algo.h:4581:5: note: declared here
 4581 |     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
      |     ^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...