제출 #1308931

#제출 시각아이디문제언어결과실행 시간메모리
1308931sweetwibu2k8Data Transfer (IOI19_transfer)C++20
100 / 100
96 ms1732 KiB
#include <bits/stdc++.h>
using namespace std;

#define endl "\n"
#define fi first
#define se second
#define pb push_back
#define p_q priority_queue
#define bit(n, i) (((n)>>(i))&1)
#define all(x) x.begin(), x.end()

typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,int> pli;
typedef vector <vector <int> > vvi;

const int M = 1e6 + 6;
const int mod = 1e9 + 7;
const int inf = 1e9 + 7;

void maximize (int &a, int b) { if (a < b) a = b; }
void minimize (int &a, int b) { if (a > b) a = b; }
void add (int &a, int b) { a += b; if (a >= mod) a -= mod; }
void del (int &a, int b) { a -= b; if (a < 0) a += mod; }

vector <int> get_attachment (vector <int> source)
{
	int T = 0, n = source.size();
	for (int i = 0; i < n; i ++)
		if (source[i] == 1) T ^= (i + 1);
	vector <int> res;
	int limit = ((n < 255) ? 6 : 8);
	for (int i = 0; i < limit; i ++)
		res.pb (bit (T, i));
	res.pb (__builtin_popcount (T) & 1);
	return res;
}

vector <int> retrieve (vector <int> data)
{
	int n = data.size(), T = 0;
	int limit = ((n < 255) ? 6 : 8);
	n = n - limit - 1;
	for (int i = 0; i < n; i ++)
		if (data[i] == 1) T ^= (i + 1);
	int tmp = 0;
	for (int i = n; i < data.size() - 1; i ++)
		tmp += data[i] * (1 << (i - n));
	
	vector <int> res;
	for (int i = 0; i < n; i ++) res.pb (data[i]);
	if ((__builtin_popcount (tmp) & 1) != data.back())
		return res;
	if (tmp == T) return res;
	
	int id = tmp ^ T;
	id --;
	res[id] = 1 - res[id];
	return res;
}

컴파일 시 표준 에러 (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...