Pagini recente » Cod sursa (job #1548548) | Cod sursa (job #164493) | Cod sursa (job #2110992) | Cod sursa (job #766189) | Cod sursa (job #1998624)
#include <cstdio>
#include <algorithm>
#include <cmath>
#define NMAX 607
using namespace std;
int a[NMAX], b[NMAX * 2], Viz[NMAX * 2], Min = (1 << 30);
int n;
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];
}
sort(b + 1, b + n + 1);
for(int i = 1; i <= n; ++i)
b[i + n] = b[i];
for(int i = 1; i <= n; ++i){
int Ans = 0;
for(int j = 1; j <= n * 2; ++j)
Viz[j] = 0;
for(int j = 1; j <= n; ++j)
if(a[j] == b[i + j - 1])
Viz[i + j - 1] = 1;
for(int j = 1; j <= n; ++j)
if(a[j] != b[i + j - 1])
for(int k = 1; k <= n; ++k)
if(Viz[i + k - 1] == 0 && a[j] == b[i + k - 1]){
Viz[i + k - 1] = 1;
Ans += fabs(k - j) + 20;
break;
}
Min = min(Min, Ans);
}
printf("%d", Min);
return 0;
}