제출 #170785

#제출 시각아이디문제언어결과실행 시간메모리
170785Sorting고대 책들 (IOI17_books)C++14
0 / 100
2 ms376 KiB
#include <bits/stdc++.h>
#include "books.h"

using namespace std;

long long minimum_walk(vector<int> p, int s) {
	int n = (int)p.size();
	vector<int> rev(n);
	long long ans = 0;

	for(int i = 0; i < n; ++i)
		rev[p[i]] = i;

	int mx = 0;
	for(int i = 0; i < n; ++i){
		if(p[i] != i){
			mx = max(mx, i);
			int v = i;
			do{
				ans += abs(p[v] - v);
				
				int prev = v;
				v = p[v];
				p[prev] = prev;
			}
			while(v != i);
		}
	}

	ans += 2 * mx;

	return ans;
}
#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...