제출 #1333647

#제출 시각아이디문제언어결과실행 시간메모리
1333647MuhammadSaram자동 인형 (IOI18_doll)C++20
37 / 100
40 ms9756 KiB
#include "doll.h"
#include <bits/stdc++.h>

using namespace std;

vector<int> get(int m)
{
	if (m==1)
		return {0};
	vector<int> v1=get(m/2);
	vector<int> v;
	for (int i=0;i<v1.size();i++)
		v.push_back(v1[i]), v.push_back(v1[i]+v1.size());
	return v;
}

void create_circuit(int m, vector<int> a)
{
	a.push_back(-1);
	while (1)
	{
		int x=a.size();
		if ((x&-x)==x) break;
		a.push_back(-1);
	}
	a[a.size()-1]=0;
	vector<int> c(m+1,-1);
	int s=a.size()-1;
	vector<int> x(s), y(s);
	vector<int> ind=get(a.size());
	int id=0, id1=-2;
	for (int i=0;i<s;i++)
		if (id1<-s)
			x[i]=a[ind[id++]], y[i]=a[ind[id++]];
		else
			x[i]=id1--, y[i]=id1--;
	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...