Submission #143895

#TimeUsernameProblemLanguageResultExecution timeMemory
143895tincamateiArranging Shoes (IOI19_shoes)C++14
10 / 100
2 ms376 KiB
#include "shoes.h"
#include <vector>
#include <cstdlib>

using namespace std;

long long count_swaps(std::vector<int> s) {
	int N = s.size() / 2;
	vector<int> pozLeft(N, 0), pozRight(N, 0);

	for(int i = 0; i < 2 * N; ++i)
		if(s[i] < 0)
			pozLeft[-s[i] - 1] = i;
		else
			pozRight[s[i] - 1] = i;
	
	long long rez = 0LL;

	for(int i = 0; i < N; ++i) {
		rez = rez + abs(pozLeft[i] - pozRight[i]) - 1;
		if(pozLeft[i] > pozRight[i])
			++rez;
	}

	return rez;
}
#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...