Submission #1216356

#TimeUsernameProblemLanguageResultExecution timeMemory
1216356MuhammadSaramArt Collections (BOI22_art)C++20
100 / 100
773 ms548 KiB
#include "art.h"
#include <bits/stdc++.h>

using namespace std;

void solve(int n)
{
	vector<int> v;
	for (int i=1;i<=n;i++)
		v.push_back(i);
	int a[n],suf[n];
	a[0]=publish(v);
	for (int i=1;i<n;i++)
	{
		vector<int> v1;
		for (int j=0;j<i;j++) v1.push_back(v[j]);
		for (int j=n-1;j>=i;j--) v1.push_back(v[j]);
		a[i]=publish(v1);
	}
	suf[0]=a[0];
	for (int i=1,sz=n-1;i<n;i++,sz--)
		suf[i]=(a[0]-a[i]+sz*(sz-1)/2)/2;
	vector<int> ans={n};
	for (int i=n-1;i>=1;i--)
	{
		int rant=suf[i-1]-suf[i];
		vector<int> nw;
		for (int j=0;j<rant;j++) nw.push_back(ans[j]);
		nw.push_back(i);
		for (int j=rant;j<ans.size();j++) nw.push_back(ans[j]);
		ans=nw;
	}
	answer(ans);
}
#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...