Submission #290415

#TimeUsernameProblemLanguageResultExecution timeMemory
290415A02Ancient Books (IOI17_books)C++14
50 / 100
175 ms14968 KiB
#include <bits/stdc++.h>
#include "books.h"

using namespace std;

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

	long long book_total = 0;

	int n = p.size();

	for (int i = 0; i < n; i++){
        book_total += max(p[i] - i, i - p[i]);
	}

	if (s == 0){
        int current_region_max = 0;
        int prev_visited = 0;
        for (int i = 0; i < n; i++){
            if (current_region_max < i && p[i] != i){
                book_total += 2 * (i - current_region_max);
            }
            if (p[i] != i){
                current_region_max = max(current_region_max, i);
                current_region_max = max(current_region_max, p[i]);
            }
        }
	}

	return book_total;

}

Compilation message (stderr)

books.cpp: In function 'long long int minimum_walk(std::vector<int>, int)':
books.cpp:18:13: warning: unused variable 'prev_visited' [-Wunused-variable]
   18 |         int prev_visited = 0;
      |             ^~~~~~~~~~~~
#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...