Submission #1317441

#TimeUsernameProblemLanguageResultExecution timeMemory
1317441comet0Group Photo (JOI21_ho_t3)C++20
5 / 100
5091 ms440 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);

	int n;
	cin >> n;
	vector<int> a(n);
	for (auto &x : a) cin >> x;

	vector<int> pos(n + 1);
	for (int i = 0; i < n; i++) pos[a[i]] = i;

	vector<int> b = a;
	sort(b.begin(), b.end());

	long long ans = LLONG_MAX;
	do {
		bool ok = true;
		for (int i = 0; i + 1 < n; i++) {
			if (!(b[i] < b[i + 1] + 2)) {
				ok = false;
				break;
			}
		}
		if (!ok) continue;

		vector<int> m(n);
		for (int i = 0; i < n; i++) m[i] = pos[b[i]];

		long long e = 0;
		for (int i = 0; i < n; i++) {
			for (int j = i + 1; j < n; j++) {
				if (m[i] > m[j]) e++;
			}
		}
		ans = min(ans, e);
	} while (next_permutation(b.begin(), b.end()));

	cout << 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...