Submission #1242969

#TimeUsernameProblemLanguageResultExecution timeMemory
1242969rayan_bdArranging Shoes (IOI19_shoes)C++20
10 / 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;
				}
			}
		}else{
			for(int j = i + 1; j < n; ++j){
				if(-s[j] == s[i]){
					ans += max(0, 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;
	cout << ans << endl;*/
	return ans;
}

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

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