Cod sursa(job #2321334)

Utilizator triscacezarTrisca Vicol Cezar triscacezar Data 15 ianuarie 2019 23:13:16
Problema Barman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("barman.in");
ofstream g("barman.out");

int n,i,j,ans=1e9,a[610],b[610];
bitset<610> ok;

int main()
{
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>a[i];
        b[i]=a[i];
    }
    sort(b+1,b+n+1);
    for(int in=1;in<=n;in++)
    {
        int aux=b[1];
        for(i=1;i<n;i++)
            b[i]=b[i+1];
        b[n]=aux;int cnt=0;
        ok.reset();
        for(i=1;i<=n;i++)
            if(a[i]==b[i])
                ok[i]=1;
        for(i=1;i<=n;i++)
            if(a[i]!=b[i])
            {
                for(j=1;j<=n;j++)
                    if((!ok[j])&&a[j]==b[i])
                        break;
                ok[j]=1;cnt+=20+abs(i-j);
            }
        ans=min(ans,cnt);
    }
    g<<ans;
    return 0;
}