제출 #1133931

#제출 시각아이디문제언어결과실행 시간메모리
1133931AgageldiXoractive (IZhO19_xoractive)C++17
0 / 100
0 ms408 KiB
#include <bits/stdc++.h>
#include "interactive.h"
using namespace std;

#define ll long long
#define N 200005
#define pb push_back
#define ff first
#define ss second
#define sz(s) (int)s.size()

ll n, t;
vector <int> a, b, c, d, h;
vector <pair<int,int> > answer;
map <int,int> vis, vip;

vector <int> guess(int n) {
	answer.pb({n,a[n]});
	for(int i = 1; i <= 7; i++) {
		vip.clear();
		b.clear();
		c.clear();
		d.clear();
		h.clear();
		for(int j = 1; j < n; j++) {
			if((j & (1<<i))) b.pb(j);
		}
		if(sz(b)){
			c = get_pairwise_xor(b);
			b.pb(n);
			d = get_pairwise_xor(b);
			reverse(c.begin(),c.end());
			reverse(d.begin(),d.end());
			while(c[sz(c) - 1] == 0) c.pop_back();
			while(d[sz(d) - 1] == 0) d.pop_back();
			int cnt = 0;
			for(int j = sz(d) - 1; j >= 0; j--) {
				if(cnt < sz(c) && d[i] == c[cnt]) cnt++;
				else h.pb(d[i]);
			}
			for(int k = 0; k < sz(h); k++) {
				int x = (h[k] ^  a[n]);
				vis[x] += (1<<i);
			}
		}
	}
	for(auto i : vis) {
		answer.pb({i.ss,i.ff});
	}
	sort(answer.begin(),answer.end());
	for(auto i : answer) {
		a.pb(i.ss);
	}
	return a;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...