Submission #1210253

#TimeUsernameProblemLanguageResultExecution timeMemory
1210253loiiii12358Mechanical Doll (IOI18_doll)C++20
37 / 100
78 ms12844 KiB
#include "doll.h" #include <bits/stdc++.h> using namespace std; vector<int> X={0},Y={0}; void solve(int id,vector<int> a){ vector<int> l,r; for(int i=0;i<a.size();i++){ if(i%2==0){ l.push_back(a[i]); }else{ r.push_back(a[i]); } } if(l.size()==1){ X[id]=l[0]; }else{ int tmp=X.size(); X[id]=-tmp-1; X.push_back(0);Y.push_back(0); solve(tmp,l); } if(r.size()==1){ Y[id]=r[0]; }else{ int tmp=X.size(); Y[id]=-tmp-1; X.push_back(0);Y.push_back(0); solve(tmp,r); } } void create_circuit(int M, vector<int> A) { int N=A.size(); for(int i=0;i<20;i++){ if((1<<i)>A.size()){ for(int j=0;j<(1<<i)-1-N;j++){ A.push_back(-1); } A.push_back(0); break; } } vector<int> C(M+1,-1); // for(int i=0;i<A.size();i++){ // cout << A[i] << " \n"[i+1==A.size()]; // } solve(0,A); answer(C, X, Y); } //9 -> 16 //
#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...