Submission #132308

#TimeUsernameProblemLanguageResultExecution timeMemory
132308MoNsTeR_CuBeAncient Books (IOI17_books)C++17
0 / 100
2041 ms376 KiB
#include <bits/stdc++.h>
#include "books.h"
using namespace std;

long long minimum_walk(std::vector<int> p, int s) {
	#define int long long 
	
	vector< pair<int, int> > v;
	
	for(int i = 0; i < (int)p.size(); i++){
		v.push_back(make_pair(p[i], i));
	}
	
	sort(p.begin(), p.end());
	
	int mini = numeric_limits<int>::max();
	
	do{
		int last = s;
	
		int tot = 0;
		
		for(int i = 0; i < (int)v.size(); i++){
			tot += abs(last - v[i].second);
			tot += abs(v[i].first-v[i].second);
			
			last = v[i].first;
		}
		
		tot += abs(last - s);
		
		mini = min(mini, tot);
	}while(next_permutation(p.begin(), p.end()));
	
	return mini;
	
	#undef int
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...