Submission #1346815

#TimeUsernameProblemLanguageResultExecution timeMemory
1346815NAMINMechanical Doll (IOI18_doll)C++20
6 / 100
22 ms6920 KiB
#include <bits/stdc++.h>
#include "doll.h"

using namespace std;

void create_circuit(int M, vector<int> a) {
	a.push_back(0);
	a.insert(a.begin(),0);
	int N = a.size();

	int curswitch=-1;
	vector<int> nxt(M+1,M+2);
	vector<int> X, Y;
	for(int i=1;i<N;i++){
		if(nxt[a[i-1]]!=M+2&&nxt[a[i-1]]!=a[i]){
			X.push_back(nxt[a[i-1]]);
			Y.push_back(a[i]);
			nxt[a[i-1]]=curswitch--;
		}
		if(nxt[a[i-1]]==M+2)
			nxt[a[i-1]]=a[i];
	}
	for(int i=0;i<=M;i++){
		if(nxt[i]==M+2)
			nxt[i]=0;
	}
	answer(nxt, 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...