Cod sursa(job #1813358)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 22 noiembrie 2016 21:37:58
Problema Barman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("barman.in");
ofstream g("barman.out");
int n,i,j,a[605],v[605],w[605];
int main()
{
    f>>n;
    for(i=1;i<=n;++i) f>>a[i],v[i]=a[i];
    sort(v+1,v+n+1);
    int k=n,sol=1<<30;
    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]=1;
                cost+=20+abs(j-i);
            }
        sol=min(sol,cost);
    }
    g<<sol;
    return 0;
}