Submission #1055273

#TimeUsernameProblemLanguageResultExecution timeMemory
1055273Ahmed57Mechanical Doll (IOI18_doll)C++17
6 / 100
52 ms12048 KiB
#include "bits/stdc++.h" #include "doll.h" using namespace std; int S = -1; vector<int> X,Y,C; vector<int> dc(vector<int> lol){ if(lol.size()==1)return lol; int sz = lol.size(); int add = (sz+1)/2; vector<int> ret; for(int j = 0;j+add<sz;j++){ ret.push_back(S--); X.push_back(lol[j]); Y.push_back(lol[j+add]); } if(sz%2){ int x = sz-add; X.push_back(S); Y.push_back(lol[x]); ret.push_back(S--); } return dc(ret); } void create_circuit(int M, vector<int> A){ S = -1; X.clear(); Y.clear(); C.clear(); vector<int> adj[M+1]; int N = A.size(); adj[0].push_back(A[0]); for(int i = 1;i<N;i++){ adj[A[i-1]].push_back(A[i]); } adj[A[N-1]].push_back(0); for(int i = 0;i<=M;i++){ if(adj[i].empty())adj[i].push_back(0); vector<int> x = dc(adj[i]); C.push_back(x[0]); } 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...