Submission #862702

#TimeUsernameProblemLanguageResultExecution timeMemory
862702IBoryMechanical Doll (IOI18_doll)C++17
6 / 100
49 ms14372 KiB
#include "doll.h" #include <bits/stdc++.h> using namespace std; const int MAX = 100007; vector<int> occur[MAX]; int cn[MAX]; void create_circuit(int M, vector<int> A) { int N = A.size(); for (int i = 0; i < N; ++i) occur[A[i]].push_back(i); A.push_back(0); occur[0].push_back(0); vector<int> C, X, Y; C.resize(M + 1); int pv = 0, sn = 0; for (int i = 0; i < N; ++i) { if (occur[pv].size() == 1) C[pv] = A[i]; else if (C[pv] >= 0) { C[pv] = --sn; X.push_back(A[occur[pv][cn[pv]++] + 1]); Y.push_back(A[occur[pv][cn[pv]++] + 1]); } pv = A[i]; } 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...