Cod sursa(job #1493253)

Utilizator enedumitruene dumitru enedumitru Data 28 septembrie 2015 21:47:18
Problema Barman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<fstream>
#include<algorithm>
#define Nmax 610
using namespace std;
ifstream f("barman.in"); ofstream g("barman.out");
int a[Nmax],v[Nmax],w[Nmax];
int main()
{   int n,i,j;
    f>>n;
    for(i=1;i<=n;++i) {f>>a[i]; v[i]=a[i];}
    sort(v+1,v+n+1);
    int k=n,costmin=1000000000;
    while(k--)
    {   int aux=v[1];
        for(i=1;i<n;++i) v[i]=v[i+1];
        v[n]=aux;
        for(i=1;i<=n;++i) w[i]=(a[i]==v[i]);
        int cost=0;
        for(i=1;i<=n;++i)
            if(a[i]!=v[i])
            {   for(j=1;w[j]||a[i]!=v[j];++j);
                w[j]=true;
                cost+=20+max(i,j)-min(i,j);
            }
        costmin=min(costmin,cost);
    }
    g<<costmin<<'\n'; g.close(); return 0;
}