Pagini recente » Cod sursa (job #1688578) | Cod sursa (job #830782) | Cod sursa (job #3038459) | Cod sursa (job #604000) | Cod sursa (job #1717187)
#include <algorithm>
#include <fstream>
using namespace std;
ifstream fin("barman.in");
ofstream fout("barman.out");
const int inf= 1<<30;
const int nmax= 600;
bool u[nmax+1];
int v[nmax+1], vs[nmax+2];
int main( ) {
int n, sol= inf;
fin>>n;
for ( int i= 1; i<=n; ++i ) {
fin>>v[i];
vs[i]= v[i];
}
sort( vs+1, vs+n+1 );
for ( int p= 1; p<=n; ++p ) {
int aux= 0;
vs[n+1]= vs[1];
for ( int i= 1; i<=n; ++i ) {
vs[i]= vs[i+1];
u[i]= 0;
if ( v[i]==vs[i] ) {
u[i]= 1;
}
}
for ( int i= 1; i<=n; ++i ) {
for ( int j= 1; j<=n && v[i]!=vs[i]; ++j ) {
if ( u[j]==0 && v[i]==vs[j] ) {
u[j]= 1;
aux= aux+max(i-j, j-i)+20;
break;
}
}
}
sol= min(sol, aux);
}
fout<<sol<<"\n";
return 0;
}