Submission #624296

#TimeUsernameProblemLanguageResultExecution timeMemory
624296Dan4LifeMechanical Doll (IOI18_doll)C++17
2 / 100
33 ms4744 KiB
#include "doll.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define sz(a) (int)a.size()
void create_circuit(int M, vector<int> A) {
    A.insert(A.begin(),0); A.push_back(0);
    int n = A.size();
    vector<int> C(M+1,0), X, Y;
    int cnt[M+1]{0}, ind = -1;
    vector<int> v; v.clear();
    for(int i = 0; i < n; i++){
        cnt[A[i]]++;
        if(A[i] and cnt[A[i]]==2) v.pb(ind--);
        v.pb(A[i]);
    }
    v.pb(0);
    for(int i = 0; i < sz(v)-2; i++){
        if(v[i]<0) X.pb(v[i+1]),Y.pb(v[i+2]),i++;
        else if(C[v[i]]==0) C[v[i]]=v[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...