Pagini recente » Cod sursa (job #1858337) | Cod sursa (job #580179) | Cod sursa (job #1053943) | Cod sursa (job #774024) | Cod sursa (job #493150)
Cod sursa(job #493150)
#include <cstdio>
#include <algorithm>
using namespace std;
#define file_in "barman.in"
#define file_out "barman.out"
#define nmax 666
int n;
int a[nmax];
int b[nmax];
int c[nmax];
char viz[nmax];
void adfile(void){
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d", &n);
for (int i=1;i<=n;++i)
scanf("%d", &a[i]),
b[i]=a[i];
fclose(stdin);
return ;
}
void solve(void){
int i,j,k,suma,sol,x;
sort(b+1,b+n+1);
suma=0x3f3f3f3f;
for (i=1;i<=n;++i){
for (j=1;j<=n;++j)
c[j]=0,
viz[j]=0;
for (j=1;j<=n;++j)
if (a[j]==b[j])
c[j]=a[j],
viz[j]=1;
int sol=0;
for (j=1;j<=n;++j)
if (!viz[j]){
for (k=1;k<=n;++k)
if (a[j]==b[k] && !c[k]){
sol+=20+abs(j-k);
c[k]=a[j];
break;
}
}
suma=min(suma,sol);
x=b[n];
for (j=n;j>=2;--j)
b[j]=b[j-1];
b[j]=x;
}
printf("%d\n", suma);
}
int main(){
adfile();
solve();
return 0;
}