Pagini recente » Cod sursa (job #1003434) | Cod sursa (job #13114) | Cod sursa (job #904952) | Cod sursa (job #2153617) | Cod sursa (job #1743691)
#include <bits/stdc++.h>
#define maxN 602
#define inf 1000000000
using namespace std;
int n, v[maxN], p[maxN], ans;
bool ok[maxN];
void read()
{
int i;
freopen("barman.in", "r", stdin);
scanf("%d", &n);
for (i = 1; i <= n; ++ i)
{
scanf("%d", &v[i]);
p[i] = v[i];
}
}
void solve()
{
int i, j, sum = 0;
sort(p + 1, p + n + 1);
ans = inf;
for (i = 1; i <= n; ++ i)
{
sum = 0;
int cp = p[1];
for (j = 1; j < n; ++ j)
p[j] = p[j + 1];
p[n] = cp;
for (j = 1; j <= n; ++ j)
if (v[j] != p[j])
ok[j] = 0;
else
ok[j] = 1;
for (j = 1; j <= n; ++ j)
if (v[j] != p[j])
{
int k;
for (k = 1; ok[k] || v[j] != p[k]; ++ k);
sum += abs(j - k) + 20;
ok[k] = 1;
}
if (sum < ans)
ans = sum;
}
}
void write()
{
freopen("barman.out", "w", stdout);
printf("%d\n", ans);
}
int main()
{
read();
solve();
write();
return 0;
}