Cod sursa(job #2881535)

Utilizator BorodiBorodi Bogdan Borodi Data 30 martie 2022 16:02:52
Problema Barman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("barman.in");
ofstream fout("barman.out");

int n;
int a[602],ok[602],s[602];

int main()
{
    fin>>n;
    for(int i=1; i<=n; i++)
        fin>>a[i];
    for(int i=1; i<=n; i++)
        s[i]=a[i];
    sort(s+1,s+n+1);
    int ans=2e9;
    for(int i=1; i<=n; i++)
    {
        int sum=0;
        for(int j=1; j<=n; j++)
            ok[j]=(a[j]==s[j]);
        for(int j=1; j<=n; j++)
        {
            if(s[j]!=a[j])
            {
                for(int k=1; k<=n; k++)
                {
                    if(ok[k]==0 && a[j]==s[k])
                    {
                        ok[k]=1;
                        sum+=20+abs(k-j);
                        break;
                    }
                }
            }
        }
        ans=min(ans,sum);
        int aux=s[n];
        for(int j=n-1; j>=1; j--)
            s[j+1]=s[j];
        s[1]=aux;
    }
    fout<<ans<<"\n";
    return 0;
}