제출 #392848

#제출 시각아이디문제언어결과실행 시간메모리
392848faresbasbsAncient Books (IOI17_books)C++14
0 / 100
1 ms300 KiB
#include <bits/stdc++.h>
#include "books.h"
using namespace std;
long long n,ans,maxi;
bool seen[1000001];
vector<int> p;

void dfs(int curr){
	seen[curr] = 1;
	if(!seen[p[curr]]){
		dfs(p[curr]);
	}
}

long long minimum_walk(vector<int> P , int s){
	p = P;
	n = p.size();
	for(long long i = 0 ; i < n ; i += 1){
		ans += abs(p[i]-i);
		if(seen[i]){
			continue;
		}
		if(p[i] == i){
			continue;
		}
		dfs(i);
		maxi = max(maxi,i);
	}
	return ans+2*maxi;
}
#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...