Submission #299667

#TimeUsernameProblemLanguageResultExecution timeMemory
299667cfalasMechanical Doll (IOI18_doll)C++14
6 / 100
528 ms19060 KiB
#include "doll.h"
#include<bits/stdc++.h>

using namespace std;

#define FORi(i,a,b) for(int i=a;i<b;i++)
#define FOR(i,n) FORi(i,0,n)
#define FOA(v,n) for(auto v : n)
#define len(a) ((int)a.size())
typedef vector<int> vi;

void create_circuit(int M, std::vector<int> A) {
	vi c(M + 1),X,Y;
	A.push_back(0);
	int prev=0;
	map<int, vi> points;
	FOR(i,len(A)-1){
		points[A[i]].push_back(A[i+1]);
	}
	FOR(i,len(A)){
		//cout<<prev<<" "<<A[i]<<endl;
		if(len(points[prev])==2){
			c[prev] = -len(X)-1;
			X.push_back(points[prev][0]);
			Y.push_back(points[prev][1]);
			prev = A[i];
		}
		else c[prev] = A[i], prev=A[i];
	}
	//FOR(i,M+1) cout<<i<<" "<<c[i]<<endl;

	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...