제출 #737099

#제출 시각아이디문제언어결과실행 시간메모리
737099NeroZeinArranging Shoes (IOI19_shoes)C++17
10 / 100
1 ms300 KiB
#include "shoes.h"
#include <bits/stdc++.h> 
using namespace std; 

long long count_swaps(std::vector<int> s) {
	int n = (int) s.size(); 
	vector<vector<int>> v[2];
	v[0].resize(n); 
	v[1].resize(n);  
	long long ans = 0; 
	for (int i = 0; i < n; ++i) {
		bool neg = s[i] < 0; 
		if (neg) s[i] = -s[i];
		s[i]--; 
		if (neg) {
			if (v[0][s[i]].size()) {
				ans += i - v[0][s[i]].back(); 
				v[0][s[i]].pop_back(); 
			} else {
				v[1][s[i]].push_back(i); 
			}
		} else {
			if (v[1][s[i]].size()) {
				ans += i - v[1][s[i]].back() - 1; 
				v[1][s[i]].pop_back(); 
			} else {
				v[0][s[i]].push_back(i); 
			}
		}
	}
	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...