Submission #1204094

#TimeUsernameProblemLanguageResultExecution timeMemory
1204094tamyteArranging Shoes (IOI19_shoes)C++20
30 / 100
1093 ms1860 KiB
#include "shoes.h"
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
using ll = long long;
/*
2
2 1 -1 -2
3
-2 2 2 -2 -2 2
4
4 4 4 4 -4 -4 -4 -4
*/
long long count_swaps(std::vector<int> s) {
	ll res = 0;
	int N = s.size() * 2;
	for (int i = 0; i < N; i += 2) {
		int want = -s[i];
		for (int j = i + 1; j < N; ++j) {
			if (s[j] == want) {
				int k = j;
				// cerr << k << " =  " << want << endl;
				while (k - 1 != i) {
					swap(s[k - 1], s[k]);
					k--;
					res++;
				}
				if (s[k - 1] > s[k]) {
					swap(s[k - 1], s[k]);
					res++;
				}
				break;
			}
		}
// 		for (auto& u : s) {
//     		cout << u << " ";
//     	}
//     	cout << endl;
	}
	// for (int i = 0; i < )
// 	for (auto& u : s) {
// 		cout << u << " ";
// 	}
// 	cout << endl;
	return res;
}
// int main() {
// 	int n;
// 	assert(1 == scanf("%d", &n));
// 	vector<int> S(2 * n);
// 	for (int i = 0; i < 2 * n; i++)
// 		assert(1 == scanf("%d", &S[i]));
// 	fclose(stdin);
// 	long long result = count_swaps(S);

// 	printf("%lld\n", result);
// 	fclose(stdout);
// 	return 0;
// }
#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...