Pagini recente » Cod sursa (job #1696991) | Cod sursa (job #2606871) | Cod sursa (job #160197) | Cod sursa (job #2351556) | Cod sursa (job #1332292)
#include <stdio.h>
#include <algorithm>
int a[601],b[601],c[601],n,vis[601];
int abs(int a)
{
if(a<0) return -a;
return a;
}
int main()
{
freopen ("barman.in","r",stdin);
freopen ("barman.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
b[i]=a[i];
c[i]=a[i];
}
std::sort(b+1,b+n+1);
int v,maxim=900000000,cost,temp;
for(int x=1;x<=n;x++)
{
cost=0;
for(int i=1;i<=n;i++)
{
vis[i]=0;
if(c[i]==b[i]) vis[i]=1;
}
for(int i=1;i<=n;i++)
{
if(vis[i]==0)
{
for(int j=1;j<=n;j++)
{
if(vis[j]==0&&c[j]==b[i]&&c[j]!=b[j])
{
cost+=40+2*(abs(i-j));
vis[i]=1;
vis[j]=1;
break;
}
}
}
}
v=b[1];
if(maxim>cost) maxim=cost;
for(int i=1;i<=n;i++)
{
b[i]=b[i+1];
}
b[n]=v;
// for(int i=1;i<=n;i++) printf("%d ",b[i]);
// printf("\n");
}
printf("%d\n",maxim);
}