Pagini recente » Cod sursa (job #299353) | Cod sursa (job #1336685) | Cod sursa (job #2364352) | Cod sursa (job #2106200) | Cod sursa (job #347260)
Cod sursa(job #347260)
#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std;
#define maxn 610
long n, i, j, k, poz, c1, c2, sol, cost, v[maxn], s[maxn], c[maxn];
long min(long a, long b)
{
if(a<b) return a;
return b;
}
int main()
{
freopen("barman.in", "r", stdin);
freopen("barman.out", "w", stdout);
scanf("%d", &n);
for(i=1; i<=n; i++)
{
scanf("%d", &v[i]);
s[i]=v[i];
}
sort(s+1, s+n+1);
sol=2000000000;
for(i=1; i<=n; i++)
{
cost=0;
memset(c, 0, sizeof(c));
for(j=1; j<=n; j++)
{
if(s[j]==v[j])
{
c[j]=2;
}
else
{
cost+=20;
}
}
for(j=1; j<=n; j++)
{
if(s[j]!=v[j])
{
for(k=1; s[k]!=v[j] || c[k]; k++);
c[k]=1;
if(k<j)
{
c1=k;
c2=j;
}
else
{
c1=j;
c2=k;
}
cost=cost+c2-c1;
}
}
if(cost<sol)
{
sol=cost;
}
for(j=0; j<n; j++)
{
s[j]=s[j+1];
}
s[n]=s[0];
}
printf("%d\n", sol);
return 0;
}