제출 #1068176

#제출 시각아이디문제언어결과실행 시간메모리
1068176UmairAhmadMirza자동 인형 (IOI18_doll)C++17
6 / 100
49 ms14788 KiB
#include <bits/stdc++.h> using namespace std; void answer(vector<int> C, vector<int> X, vector<int> Y); int const MAXN=2e5+5; vector<int> nxt[MAXN]; void create_circuit(int m, vector<int> A){ int n=A.size(); vector<int> C(m+1); vector<int> X,Y; C[0]=A[0]; for(int i=1;i<n;i++) nxt[A[i-1]].push_back(A[i]); nxt[A[n-1]].push_back(0); int s=0; for(int i=1;i<=m;i++){ int sz=nxt[i].size(); if(sz==0) C[i]=0; else if(sz==1) C[i]=nxt[i][0]; else if(sz==2){ s++; C[i]=-s; X.push_back(nxt[i][0]); Y.push_back(nxt[i][1]); } else if(sz==3){ s++; C[i]=-s; X.push_back(-(s+1)); Y.push_back(-(s+2)); X.push_back(nxt[i][0]); Y.push_back(-s); X.push_back(nxt[i][1]); X.push_back(nxt[i][2]); s+=2; } else{ s++; C[i]=-s; X.push_back(-(s+1)); Y.push_back(-(s+2)); X.push_back(nxt[i][0]); Y.push_back(nxt[i][2]); X.push_back(nxt[i][1]); X.push_back(nxt[i][3]); s+=2; } } 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...