Submission #1295119

#TimeUsernameProblemLanguageResultExecution timeMemory
1295119faricaThe Collection Game (BOI21_swaps)C++20
0 / 100
1 ms332 KiB
#include <bits/stdc++.h>
#include "swaps.h"

using namespace std;
using vi = vector<int>;
using pi = pair<int,int>;

void recSort(int n, vi &v) {
	if(n == 1) return;
	if(n == 2) {
		schedule(v[0], v[1]);
		vi tmp = visit();
		return;
	} 
	vi a, b;
	for(int i=n-1; i>=0; i-=2) {
		if(i) schedule(v[i-1], v[i]);
		a.push_back(v[i]);
		if(i) b.push_back(v[i-1]);
	}
	reverse(a.begin(), a.end());
	reverse(b.begin(), b.end());
	vi tmp = visit();
	recSort((int)a.size(), a);
	recSort((int)b.size(), b);
	int X = n-2;
	if(n%2==0) ++X;
	for(int i=X; i>0; i-=2) {
		schedule(v[i-1], v[i]);
	}
	tmp = visit();
}

void solve(int N, int V) {
    vi v;
    for(int i=1; i<=N; ++i) v.push_back(i);
    recSort(N, v);
    reverse(v.begin(), v.end());
    answer(v);
}
#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...
#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...