Submission #288037

#TimeUsernameProblemLanguageResultExecution timeMemory
288037user202729Ancient Books (IOI17_books)C++17
50 / 100
167 ms18812 KiB
// moreflags=grader.cpp
// 11
// :(
// Definitely cheating.
#include "books.h"
#include<algorithm>
#include<numeric>


long long minimum_walk(std::vector<int> p, int s) {
	if(s!=0) return 1;
	std::vector<int> total(p.size());
	for(int index=0; index<(int)p.size(); ++index){
		if(index<p[index]){
			++total[index];--total[p[index]];
		}
	}
	std::partial_sum(begin(total), end(total), total.begin());
	std::for_each(
			std::find_if(total.rbegin(), total.rend(),[&](int it){return it!=0;}),
			total.rend(),[&](int& it){if(it==0) it=1;});
	return 2*std::accumulate(begin(total), end(total), (int64_t)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...