# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
531936 | andecaandeci | Arranging Shoes (IOI19_shoes) | C++17 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define REP(v, i, j) for (int v = i; v < j; v++)
#define FORI(v) for (auto i : v)
#define FORJ(v) for (auto j : v)
#define OUT(v, a) FORI(v) cout << i << a;
#define OUTS(v, a, b) cout << v.size() << a; OUT(v, b)
#define in(a, n) REP(i, 0, n) cin >> a[i];
#define SORT(v) sort(begin(v), end(v))
#define REV(v) reverse(begin(v), end(v))
#define pb push_back
#define fi first
#define se second
#define detachIO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
typedef pair<int, int> pii;
typedef pair<pii, int> piii;
typedef pair<pii, pii> piiii;
int inv(vector<int> v)
{
if (v.size() < 2)
return 0;
int m = 1;
for (int i = 1; i < v.size(); i++)
{
if (v[i] < v[m])
m = i;
}
int ans = 0;
if (v[m] < v[0])
{
swap(v[0], v[m]);
ans++;
}
reverse(v.begin(), v.end());
v.pop_back();
reverse(v.begin(), v.end());
ans += inv(v);
return ans;
}
long long count_swaps(int S[])
{
if ((sizeof(S) / sizeof(S[0])) == 1)
if (S[0] < 0)
return 0;
else
return 1;
}