Pagini recente » Cod sursa (job #1942166) | Cod sursa (job #1912066) | Cod sursa (job #878132) | Cod sursa (job #2496320) | Cod sursa (job #1517132)
#include <fstream>
#include <cmath>
#include <algorithm>
using namespace std;
const int NMAX=601;
int v[NMAX], s[NMAX], n, i, j, k, sum, minim=1.e9;
bool vis[NMAX];
void rotate()
{
int aux=s[1];
for(int i=1; i<n; i++)
s[i]=s[i+1];
s[n]=aux;
}
int main()
{
ifstream in("barman.in");
ofstream out("barman.out");
in>>n;
for(i=1; i<=n; i++)
{
in>>v[i];
s[i]=v[i];
}
sort(s+1, s+n+1);
for(i=1; i<=n; i++)
{
sum=0;
for(j=1; j<=n; j++)
vis[j]=0;
for(j=1; j<=n; j++)
if(v[j]==s[j])
{
vis[j]=1;
continue;
}
else
{
sum+=20;
for(k=1; k<=n; k++)
if(!vis[k]&&v[k]==s[j])
{
vis[k]=1;
sum+=abs(k-j);
break;
}
}
if(sum<minim)
minim=sum;
rotate();
}
out<<minim<<'\n';
return 0;
}