Submission #1210635

#TimeUsernameProblemLanguageResultExecution timeMemory
1210635AvianshMechanical Doll (IOI18_doll)C++20
37 / 100
72 ms11876 KiB
#include "doll.h" #include <bits/stdc++.h> using namespace std; int n; int cn; vector<int>x; vector<int>y; vector<int>normalize(vector<int>arr){ vector<int>temp; vector<int>buff; for(int i : arr){ if(i!=-1){ temp.push_back(i); } else{ buff.push_back(i); } } if(temp.size()==0){ //all -1s return {-1}; } vector<int>ans; int i = 0; int j = 0; for(int z = 0;z<arr.size();z++){ if(i<temp.size()){ ans.push_back(temp[i]); i++; } if(j<buff.size()){ ans.push_back(buff[j]); j++; } } return ans; } int create(vector<int>req){ if(req.size()==1){ return req[0]; } cn--; int curr = cn; vector<int>reqx,reqy; for(int i = 0;i<req.size();i++){ if(i%2){ reqy.push_back(req[i]); } else{ reqx.push_back(req[i]); } } if(reqx.size()!=reqy.size()){ reqy.push_back(reqx[reqx.size()-1]); reqx[reqx.size()-1]=curr; } x.push_back(-1e9); y.push_back(-1e9); int retx = create(reqx); x[-curr-1]=retx; int rety = create(reqy); y[-curr-1]=rety; return curr; } void create_circuit(int m, vector<int> a) { vector<int>c(m+1); n=a.size(); while(__builtin_popcount((int)a.size()+1)!=1){ a.push_back(-1); } a.push_back(0); cn=0; x.clear(); y.clear(); int node = create(a); for(int i = 0;i<=m;i++){ c[i]=node; } answer(c,x,y); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...