Submission #318745

#TimeUsernameProblemLanguageResultExecution timeMemory
318745blueMechanical Doll (IOI18_doll)C++11
0 / 100
29 ms11716 KiB
#include "doll.h"
#include <vector>
using namespace std;

void create_circuit(int M, vector<int> A)
{
    vector<int> C(M+1), X, Y;

    int N = A.size();

    vector<int> edge[M+1];
    
    edge[0].push_back(A[0]);
    for(int i = 0; i < N-1; i++)
    {
        edge[A[i]].push_back(A[i+1]);
    }
    edge[A[N-1]].push_back(0);

    for(int i = 0; i <= M; i++)
    {
        if(edge[i].size() == 1)
        {
            C[A[i]] = edge[A[i]][0];
        }
        else
        {
            C[A[i]] = -(X.size() + 1);
            X.push_back(edge[A[i]][0]);
            Y.push_back(edge[A[i]][1]);
        }
    }
    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...