Cod sursa(job #2724981)

Utilizator FrostfireMagirescu Tudor Frostfire Data 18 martie 2021 11:07:48
Problema Barman Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#define inf 2000000000
#define NMAX 600
#define f first
#define s second

using namespace std;

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

int n, ans = inf, v[NMAX+10];
vector <pair <int, int> > aux;

void solve(int idx)
{	int curr = 0;
	for(auto u : aux)
		{	if(u.s != idx)
				curr += (20 + abs(idx - u.s));
			idx++;
			if(idx == n + 1)
				idx = 1;
		}
	ans = min(ans, curr);
}

int main()
{
	fin >> n;
	for(int i=1; i<=n; i++)
		{	fin >> v[i];
			aux.push_back({v[i], i});
		}
	sort(aux.begin(), aux.end());
	for(int i=1; i<=n; i++)
		solve(i);
	fout << ans << '\n';
	return 0;
}