Cod sursa(job #2496783)

Utilizator TheNextGenerationAyy LMAO TheNextGeneration Data 21 noiembrie 2019 17:31:50
Problema Barman Scor 100
Compilator cpp-64 Status done
Runda blablabla1 Marime 1.03 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("barman.in");
ofstream out("barman.out");
const int N = 605;
long long a[N],b[N];
bool viz[N];
int main()
{
    int n;
    in >> n;
    for (int i = 1; i<=n; i++)
    {
        in >> a[i];
        b[i] = a[i];
    }
    long long ans = LLONG_MAX;
    sort(a+1,a+n+1);
    for (int i = 1; i<=n; i++)
    {
        long long s = 0;
        for (int j = 1; j<=n; j++)
            if (a[j] == b[j])
                viz[j] = 1;
            else
                viz[j] = 0;
        for (int j = 1; j<=n; j++)
        {
            if (a[j] == b[j])
                continue;
            for (int z = 1; z<=n; z++)
                if (!viz[z] && a[z] == b[j])
                {
                    s+=20+abs(z-j);
                    viz[z] = 1;
                    break;
                }
        }
        long long aux = a[1];
        for (int j = 1; j<n; j++)
            a[j] = a[j+1];
        a[n] = aux;
        ans = min(ans,s);
    }
    out << ans;
}