# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
670547 | birthdaycake | Arranging Shoes (IOI19_shoes) | C++17 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#include "shoes.h"
using namespace std;
long long vs[1001];
long long count_swaps(vector<long long>s) {
long long n = s.size(); long long ans = 0;
for(long long i = 0; i < n; i++){
long long f = 0;
for(long long j = 0; j < i; j++){
if(!vs[j] && s[i] == -s[j]){
f = j + 1;
break;
}
}
if(f){
f--;
vs[f] = 1;
vs[f + 1] = 1;
if(s[f] < 0) ans += (i - f - 1);
else ans += (i - f);
while(i != f + 1){
swap(s[i], s[i - 1]);
i--;
}
if(s[f] > 0) swap(s[f], s[f + 1]);
}
}
return ans;
}