Submission #1161601

#TimeUsernameProblemLanguageResultExecution timeMemory
1161601cnn008Xoractive (IZhO19_xoractive)C++20
0 / 100
3 ms408 KiB
#include "interactive.h"
#include <bits/stdc++.h>
using namespace std;

vector <int> rsz(vector <int> &v){
	vector <int> v1;
	int n=(int)v.size();
	n=sqrt(n);
	for(int i=n; i<(int)v.size(); i+=2) v1.push_back(v[i]);
	return v1;
}
vector<int> guess(int n) {
	vector <int> a(n,0);
	vector <int> c[7];
	a[0]=ask(1);
	for(int i=0; i<7; i++){
		vector <int> v;
		for(int j=2; j<=n; j++) if((j>>i)&1) v.push_back(j);
		vector <int> cur=get_pairwise_xor(v);
		cur=rsz(cur);
		v.push_back(1);
		vector <int> cur1=get_pairwise_xor(v);
		cur1=rsz(cur1);
		map <int,int> mp;
		for(auto x:cur1) mp[x]++;
		for(auto x:cur) mp[x]--;
		for(auto [x,y]:mp) if(y) c[i].push_back(x);
	}
	for(int j=2; j<=n; j++){
		map <int,int> mp;
		for(int i=0; i<7; i++) if((j>>i)&1) for(auto x:c[i]) mp[x]++;
		int k=__builtin_popcount(j);
		for(auto [x,y]:mp) if(y==k) a[j-1]=x;
	}
	return a;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...