Submission #1221083

#TimeUsernameProblemLanguageResultExecution timeMemory
1221083siyanaXoractive (IZhO19_xoractive)C++17
0 / 100
4 ms576 KiB
#include<bits/stdc++.h> #include "interactive.h" using namespace std; const int MAXN=110; const int PAW=10; vector<int>g[PAW]; vector<int>a[PAW]; map<int,int>m; int arr[MAXN]; vector<int>find_multitude_numbers(vector<int>pos,int x){ vector<int> ms_=get_pairwise_xor(pos); multiset<int> ms; for(int i=0;i<ms_.size();i++){ ms.insert(ms_[i]); } while(ms.find(0)!=ms.end()) ms.erase(0); pos.push_back(1); vector<int>v_=get_pairwise_xor(pos); multiset<int>v; for(int i=0;i<v_.size();i++){ v.insert(v_[i]); } while(ms.find(0)!=ms.end()) ms.erase(0); vector<int>nv; for(int el:v){ if(ms.find(el)!=ms.end()){ ms.erase(ms.find(el)); }else{ nv.push_back(el); } } nv.push_back(1); for(int i=0;i<nv.size();i++){ nv[i]=nv[i]^x; } return nv; } vector<int> guess(int n){ int x=ask(1); for(int paw=0;paw<=6;paw++){ for(int i=2;i<=n;i++){ if(i&(1<<paw)!=0){ g[paw].push_back(i); } } a[paw]=find_multitude_numbers(g[paw],x); } for(int paw=0;paw<=6;paw++){ for(int el:a[paw]){ m[el]+=(1<<paw); } } for(auto it:m){ if(it.first!=0){ arr[it.second]=it.first; } } vector<int>result; for(int i=0;i<n;i++){ result.push_back(arr[i]); } return result; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...