Submission #1032766

#TimeUsernameProblemLanguageResultExecution timeMemory
1032766amirhoseinfar1385Mechanical Doll (IOI18_doll)C++17
0 / 100
32 ms6068 KiB
#include "doll.h" #include<bits/stdc++.h> using namespace std; const int maxn=100000+10; vector<int>c(maxn),x(maxn),y(maxn); int lnk[maxn],s; void adde(int u,int v){ s++; x[s]=y[s]=-s; if(lnk[u]==0){ c[u]=-s; y[s]=v; lnk[u]=s; return ; } swap(x[lnk[u]],y[lnk[u]]); y[lnk[u]]=-s; lnk[u]=s; y[s]=v; } void create_circuit(int M, std::vector<int> A) { int n = A.size(); s=0; int now=0; for(int i=0;i<n;i++){ adde(now,A[i]); now=A[i]; } adde(now,0); c.resize(M+1); for(int i=0;i<s;i++){ x[i]=x[i+1]; y[i]=y[i+1]; } x.resize(s); y.resize(s); /* for(auto i:c){ cout<<i<<" "; } cout<<endl; for(auto i:x){ cout<<i<<" "; } cout<<endl; for(auto i:y){ cout<<i<<" "; } cout<<endl;*/ 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...