제출 #1288637

#제출 시각아이디문제언어결과실행 시간메모리
1288637Jawad_Akbar_JJArt Collections (BOI22_art)C++20
100 / 100
673 ms584 KiB
#include <iostream>
#include <vector>
#include "art.h"

using namespace std;

vector<int> makeVec(vector<int> A, vector<int> B, int extra){
	for (int i : B)
		A.push_back(i);
	A.push_back(extra);
	return A;
}

void solve(int n){
	vector<int> vec, A, B;
	for (int i=1;i<=n;i++)
		vec.push_back(i), A.push_back(i);

	int x_Plus_a = publish(vec);
	B.push_back(A.back());
	A.pop_back();

	while (A.size() > 0){
		int cur = A.back();
		A.pop_back();
		int x_plus_b = publish(makeVec(A, B, cur)), a_plus_b = B.size();
		int a = (x_Plus_a - x_plus_b + a_plus_b) / 2, b = x_Plus_a - a;

		B.insert(begin(B) + a, cur);
		x_Plus_a -= a;
	}
	answer(B);
}
#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...