제출 #43626

#제출 시각아이디문제언어결과실행 시간메모리
43626faustaadp고대 책들 (IOI17_books)C++14
0 / 100
2 ms692 KiB
#include<bits/stdc++.h>
#define ll long long
#define pb push_back
#define mp make_pair
#define fi first
#define se second
using namespace std;
#include "books.h"
ll n,i,nx[101010],has,tam;
bool b[101010];
void dfs(ll aa)
{
	b[aa]=1;
	if(!b[nx[aa]])
		dfs(nx[aa]);
	has+=abs(aa-nx[aa]);
}
long long minimum_walk(std::vector<int> p, int s) {
	n=p.size();
	for(i=0;i<n;i++)
	{
		if(p[i]==i)
			b[i]=1;
		else
			nx[i]=p[i];
	}
	for(i=0;i<n;i++)
	{
		if(!b[i])
		{
			dfs(i);
			tam=i*2;
		}
	}
	return has+tam;
}
#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...