Submission #775222

#TimeUsernameProblemLanguageResultExecution timeMemory
775222BaytoroMechanical Doll (IOI18_doll)C++17
2 / 100
41 ms11344 KiB
#include "doll.h"
//#include "grader.cpp"
#include <bits/stdc++.h>
using namespace std;
const int NN=2e5+5;
vector<int> g[NN];
vector<int> x,y;
#define pb push_back
void create_circuit(int m, vector<int> a) {
	int n=a.size();
	vector<int> c(m+1);
	c[0]=a[0];
	for(int i=0;i<n-1;i++){
		g[a[i]].push_back(a[i+1]);
		c[a[i]]=a[i+1];
	}
	int id=-1;
	for(int i=1;i<=m;i++){
		int sz=g[i].size();
		if(sz<=1) continue;
		c[i]=id--;
		if(sz==2){
			x.pb(g[i][0]);
			y.pb(g[i][1]);
		}
		else if(sz==3){
			x.pb(id--);
			y.pb(id--);
			x.pb(c[i]);
			y.pb(g[i][1]);
			x.pb(g[i][0]);
			y.pb(g[i][2]);
		}
		else{
			x.pb(id--);
			y.pb(id--);
			x.pb(g[i][0]);
			y.pb(g[i][1]);
			x.pb(g[i][2]);
			y.pb(g[i][3]);
		}
	}
	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...