Submission #1221198

#TimeUsernameProblemLanguageResultExecution timeMemory
1221198siyanaXoractive (IZhO19_xoractive)C++17
100 / 100
3 ms568 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){/* cout<<"In find numbers with: "<<endl; for(int i=0;i<pos.size();i++){ cout<<pos[i]<<" "; } cout<<endl;*/ vector<int> ms_=get_pairwise_xor(pos); multiset<int> ms; //cout<<"ms: "<<endl; for(int i=0;i<ms_.size();i+=2){ //cout<<ms[i]<<" "; ms.insert(ms_[i]); } while(ms.find(0)!=ms.end()) ms.erase(0); //for(int el:ms) cout<<el<<" "; //cout<<endl; pos.push_back(1); vector<int>v_=get_pairwise_xor(pos); multiset<int>v; //cout<<"v: "<<endl; for(int i=0;i<v_.size();i+=2){ v.insert(v_[i]); } while(v.find(0)!=v.end()) v.erase(0); //for(int el:v) cout<<el<<" "; //cout<<endl; 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; } //cout<<"nv: "<<endl; //for(int i=0;i<nv.size();i++) cout<<nv[i]<<" "; //cout<<endl; return nv; } vector<int> guess(int n){ int x=ask(1); for(int paw=0;paw<=6;paw++){ //cout<<"for paw = "<<paw<<endl; //cout<<"pos: "<<endl; for(int i=2;i<=n;i++){ //cout<<"check: "<<i<<" "<<paw<<" "<<(1<<paw)<<" - "<<(i&(1<<paw))<<endl; if((i&(1<<paw))!=0){ //cout<<"right: "<<i<<endl; g[paw].push_back(i); } } //cout<<endl; if(g[paw].size()>0) a[paw]=find_multitude_numbers(g[paw],x); } for(int paw=0;paw<=6;paw++){ for(int el:a[paw]){ m[el]+=(1<<paw); } } //cout<<"In m: "<<endl; for(auto it:m){ //cout<<it.first<<" "<<it.second<<endl; if(it.first!=0){ //cout<<it.first<<" "<<it.second<<endl; arr[it.second]=it.first; } } vector<int>result; result.push_back(x); for(int i=2;i<=n;i++){ result.push_back(arr[i]); } return result; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...