Submission #596670

#TimeUsernameProblemLanguageResultExecution timeMemory
596670farhan132Ancient Books (IOI17_books)C++17
0 / 100
1 ms212 KiB
#include "books.h"
#include <bits/stdc++.h>
 
using namespace std;
 
typedef long long ll;
typedef pair<ll , ll> ii;
 
#define ff first
#define ss second
#define pb push_back
#define in insert

long long minimum_walk(std::vector<int> p, int s) {

	 ll n = p.size();

	 vector < ll > vis(n, 0);
	 ll ans = 0; ll r = 0;
	 for(ll i = 0; i < n; i++){
	 	if(vis[i]) continue;
	 	ll c = i; 
	 	while(!vis[c]){
	 		vis[c] = 1;
	 		ans += abs(p[c] - c); c = p[c];
	 	}
	 	if(p[i] != i) r = i;
	 }
	 ans += 2*r;

	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...