Submission #143313

#TimeUsernameProblemLanguageResultExecution timeMemory
143313VladaMG98Arranging Shoes (IOI19_shoes)C++17
10 / 100
1066 ms1920 KiB
#include <bits/stdc++.h>

using namespace std;

long long count_swaps(std::vector<int> s) {
	int n = (int)s.size() / 2;
	int N = 2 * n;
	long long ans = 0;
	for(int pos = 0; pos < n; pos++) {
        //printf("pos = %d\n", pos);
		int fnd = -1;
		for(int i = 2 * pos; i < N; i++) {
			if(s[i] < 0) {
				fnd = i;
				break;
			}
		}
		assert(fnd + 1);
		for(int i = fnd - 1; i >= 2 * pos; i--) {
			swap(s[i], s[i + 1]);
			ans += 1;
		}
		int target = -s[2 * pos];
		fnd = -1;
		for(int i = 2 * pos + 1; i < N; i++) {
			if(s[i] == target) {
				fnd = i;
				break;
			}
		}
		assert(fnd + 1);
		for(int i = fnd - 1; i >= 2 * pos + 1; i--) {
			swap(s[i], s[i + 1]);
			ans += 1;
		}
	}
	return 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...