Pagini recente » Cod sursa (job #3198149) | Cod sursa (job #1136757) | Cod sursa (job #3186420) | Cod sursa (job #2583888) | Cod sursa (job #3167847)
#include <bits/stdc++.h>
using namespace std;
const int max_size = 1203, INF = 2e9 + 1;
int v[max_size], og[max_size], sol[max_size];
signed main ()
{
#ifdef LOCAL
freopen("test.in", "r", stdin);
freopen("test.out", "w", stdout);
#else
freopen("barman.in", "r", stdin);
freopen("barman.out", "w", stdout);
#endif // LOCAL
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> og[i];
v[i] = og[i];
}
sort(v + 1, v + n + 1);
for (int i = 1; i <= n; i++)
{
v[i + n] = v[i];
}
int ans = INF;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
sol[j] = 0;
}
for (int j = 1; j <= n; j++)
{
if (og[j] == v[i + j - 1])
{
sol[j] = 1;
}
}
int currans = 0;
for (int j = 1; j <= n; j++)
{
if (og[j] != v[i + j - 1])
{
currans += 20;
for (int k = 1; k <= n; k++)
{
if (og[j] == v[i + k - 1] && sol[k] == 0)
{
sol[k] = 1;
currans += abs(k - j);
break;
}
}
}
}
ans = min(ans, currans);
}
cout << ans;
return 0;
}