Submission #1242971

#TimeUsernameProblemLanguageResultExecution timeMemory
1242971rayan_bdArranging Shoes (IOI19_shoes)C++20
50 / 100
1093 ms1864 KiB
#include <bits/stdc++.h>
#include "shoes.h"

using namespace std;

long long count_swaps(std::vector<int> s) {
	int n = (int) s.size();
	long long ans = 0;
	for(int i = 0; i < n - 1; ++i){
		//cout << s[i] << "\n";
		if(s[i] > 0){
			for(int j = i + 1; j < n; ++j){
				if(-s[j] == s[i]){
					ans += j - i;
					s.erase(s.begin() + j);
					s.insert(s.begin() + i, -s[i]);
					break;
				}
			}
			++i;
		}else{
			for(int j = i + 1; j < n; ++j){
				if(-s[j] == s[i]){
					ans += j - i - 1;
					s.erase(s.begin() + j);
					s.insert(s.begin() + i + 1, -s[i]);
					break;
				}
			}
			++i;
		}
/*		for(auto it : s) cout << it << " ";
		cout << endl;*/
	}
/*	for(auto it : s) cout << it << " ";
	cout << endl;
	cout << ans << endl;*/
	return ans;
}


/*int main(){
	freopen("input.in", "r", stdin);
	freopen("output.out", "w", stdout);
	
	cout << count_swaps({-2, 2, 2, -2, -2, 2}) << endl;

	//count_swaps({-1, -2, 1, 2});

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