Submission #155688

#TimeUsernameProblemLanguageResultExecution timeMemory
155688dolphingarlicAncient Books (IOI17_books)C++14
0 / 100
2 ms376 KiB
#include "books.h"
#include <math.h>

bool visited[1000000];

long long minimum_walk(std::vector<int> p, int s) {
	int last = s;
	long long ans = 0;
	for (int i = 0; i < p.size(); i++) {
		if (!visited[i]) {
			ans += std::abs(i - last);
			last = i;
			int curr = i, val = p[i];
			while (!visited[curr]) {
				visited[curr] = true;
				ans += std::abs(curr - val);
				curr = val;
				val = p[curr];
			}
		}
	}
	return ans + std::abs(last - s);
}

Compilation message (stderr)

books.cpp: In function 'long long int minimum_walk(std::vector<int>, int)':
books.cpp:9:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < p.size(); i++) {
                  ~~^~~~~~~~~~
#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...