Pagini recente » Cod sursa (job #397234) | Cod sursa (job #34114) | Cod sursa (job #397242) | Cod sursa (job #1744405)
#include <bits/stdc++.h>
using namespace std;
ifstream in ( "barman.in" );
ofstream out( "barman.out" );
const int DIM = 6e2 + 5;
const int INF = 0x3f3f3f3f;
int N, X, V[DIM], P[DIM], minim = INF, ans;
vector<int> W(1);
int main( int argc, const char *argv[] ) {
in >> N;
for( int i = 1; i <= N; i ++ ) {
in >> X; V[i] = X;
W.push_back( X );
}
sort( W.begin() + 1, W.end() );
for( int k = 1; k <= N; k ++ ) {
ans = 0;
for( int i = 1; i <= N; i ++ )
P[i] = ( W[i] == V[i] );
for( int i = 1; i <= N; i ++ ) {
if( V[i] == W[i] )
continue;
for( int j = 1; j <= N; j ++ ) {
if( P[j] == 1 || W[j] != V[i] )
continue;
P[j] = 1;
ans += 20 + abs(i - j);
break;
}
}
minim = min( minim, ans ); X = W[1];
W.erase( W.begin() + 1 ); W.push_back(X);
}
out << minim << endl;
return 0;
}