Pagini recente » Cod sursa (job #2821495) | Cod sursa (job #192244) | Cod sursa (job #1562653) | Cod sursa (job #1536936) | Cod sursa (job #463959)
Cod sursa(job #463959)
#include <algorithm>
#include <bitset>
using namespace std;
#define INF 0x3f3f3f3f
#define DIM 605
int a[DIM],b[DIM],c[DIM];
bitset <DIM> viz;
int n,rez;
void read ()
{
int i;
scanf ("%d",&n);
for (i=1; i<=n; ++i)
{
scanf ("%d",&a[i]);
b[i]=a[i];
}
}
void solve ()
{
int i,j,k,nrc,cur;
nrc=0;
rez=INF;
sort (b+1,b+n+1);
for (i=1; i<=n; ++i)
{
for (j=1; j<=n; ++j)
{
c[j]=nrc;
viz[j]=0;
}
for (j=1; j<=n; ++j)
if (a[j]==b[j])
{
c[j]=a[j];
viz[j]=1;
}
cur=0;
for (j=1; j<=n; ++j)
if (!viz[j])
for (k=1; k<=n; ++k)
if (a[j]==b[k] && c[k]==nrc)
{
cur+=20+abs (j-k);
c[k]=a[j];
break ;
}
rez=min (rez,cur);
cur=b[n];
for (j=n; j>1; --j)
b[j]=b[j-1];
b[1]=cur;
}
printf ("%d",rez);
}
int main ()
{
freopen ("barman.in","r",stdin);
freopen ("barman.out","w",stdout);
read ();
solve ();
return 0;
}