Submission #624316

#TimeUsernameProblemLanguageResultExecution timeMemory
624316Icebear16Mechanical Doll (IOI18_doll)C++14
6 / 100
62 ms12448 KiB
#include "doll.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define pf push_front #define mp make_pair #define all(a) a.begin(),a.end() #define rall(a) a.rbegin(),ra.end() #define sz(a) a.size() void create_circuit(int M, vector<int> A) { int N = A.size(); vector<int> C(M + 1,0); vector<int> adj[M+1]; for(int i=1;i<N;i++){ adj[A[i-1]].pb(A[i]); } adj[A[N-1]].pb(0); for(int i=0;i<=M;i++){ if(adj[i].empty()) adj[i].pb(0); } C[0]=A[0]; int k=-1; vector<int> X, Y; for (int i = 1; i <= M; i++) { if(sz(adj[i])==2){ C[i]=k; k--; X.pb(adj[i][0]); Y.pb(adj[i][1]); }else C[i]=adj[i][0]; } // for(int i=0;i<=M;i++){ // for(int j=0;j<sz(adj[i]);j++){ // cout<<adj[i][j]<<" "; // } // cout<<endl; // } // for (int k = 0; k < N; ++k) { // X[k] = Y[k] = A[k]; // } 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...