Pagini recente » Cod sursa (job #2265115) | Cod sursa (job #3175379) | Cod sursa (job #1788434) | Cod sursa (job #34131) | Cod sursa (job #2064850)
#include <bits/stdc++.h>
using namespace std;
ifstream in("barman.in");
ofstream out("barman.out");
const int NMAX = 600, INF = 2e9;
int n, ans;
int sol[NMAX + 5], a[NMAX + 5];
bool vis[NMAX + 5];
int main()
{
in >> n;
int tmp;
for(int i = 1; i <= n; i++)
{
in >> a[i];
sol[i] = a[i];
}
sort(sol + 1, sol + n + 1);
ans = INF;
for(int p = 1; p <= n; p++)
{
int minim = 0;
for(int i = 1; i <= n; i++)
if(a[i] == sol[i]) vis[i] = true;
else vis[i] = false;
for(int i = 1; i <=n; i++)
{
if(a[i] != sol[i])
{
for(int j = 1; j <= n; j++)
if(a[i] == sol[j] && !vis[j])
{
minim += 20 + abs(i - j);
vis[j] = true;
break;
}
}
}
ans = min(ans, minim);
rotate(sol + 1, sol + 2, sol + n + 1);
}
out << ans << '\n';
return 0;
}