Submission #312094

#TimeUsernameProblemLanguageResultExecution timeMemory
312094tengiz05Mechanical Doll (IOI18_doll)C++17
2 / 100
29 ms3532 KiB
#include "doll.h"
#include <bits/stdc++.h>
using namespace std;
void create_circuit(int m, vector<int> a) {
	int n = a.size();
	
	vector<int> c(m + 1, 0);
	vector<int> cnt(m+1);
	vector<int> used(m+1);
	vector<int> X, Y;
	for(int i=0;i<n;i++)cnt[a[i]]++;
	int now = 0;
	int t = -1;
	for(int i=0;i<n;i++){
		if(cnt[now] == 2){
			if(used[now]){
				now = a[i];
				Y.push_back(now);
			}else {
				used[now] = 1;
				c[now] = t;
				now = a[i];
				X.push_back(now);
				t--;
			}
		}else {
			c[now] = a[i];
			now = a[i];
		}
	}c[now] = 0;
	answer(c, X, Y);
}

/*

4 4
1 2 1 3

*/
#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...