Submission #1244572

#TimeUsernameProblemLanguageResultExecution timeMemory
1244572t_hollAncient Books (IOI17_books)C++20
0 / 100
0 ms324 KiB
#include "books.h"

#include <bits/stdc++.h>
using namespace std;

int visit (vector<int> &p, vector<bool> &v, int i) {
	if (v[i]) return 0;
	v[i] = true;

	int j = p[i];
	
	return visit(p, v, j) + abs(j - i);
}

long long minimum_walk(std::vector<int> p, int s) {
	vector<bool> v(p.size());

	int latest = 0;
	int result = 0;
	for (int i = 0; i < p.size(); i ++) {
		int local = visit(p, v, i);
		if (local != 0) latest = i;

		result += local;
	}
	
	return result + latest;
}
#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...