Submission #82012

#TimeUsernameProblemLanguageResultExecution timeMemory
82012brian1266자동 인형 (IOI18_doll)C++14
2 / 100
54 ms3864 KiB
#include "doll.h"
#include <stdio.h>
void create_circuit(int M, std::vector<int> A)
{
    int N = A.size();
    std::vector<int> C(M+ 1);
    std::vector<int> check(M+1);
    int mul=0;
    for(int i=0; i<N; i++)
    {
        if(check[A[i]]!=0)
            mul++;
        check[A[i]]++;
    }
    std::vector<int> X(mul), Y(mul);
    C[0] = A[0];
    int sw=-1;
    for (int i = 1; i < N; ++i)
    {
        if(check[A[i-1]]==1)
            C[A[i-1]]=A[i];
        else if(check[A[i-1]]==2)
        {
            C[A[i-1]]=sw;
            sw--;
            check[A[i-1]]=3;
            X[(-1)*sw-2]=A[i];
        }
        else
        {
            Y[(-1)*sw-2]=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...