Submission #1054121

#TimeUsernameProblemLanguageResultExecution timeMemory
1054121UnforgettableplAncient Books (IOI17_books)C++17
50 / 100
77 ms18896 KiB
#include "books.h"
#include <bits/stdc++.h>
using namespace std;

long long minimum_walk(vector<int> p, int s) {
	int n = p.size();
	vector mover(n,0);
	int last_voilater = 0;
	long long ans = 0;
	for(int i=0;i<n;i++) {
		if(p[i]==i)continue;
		ans+=abs(p[i]-i);
		last_voilater=i;
		mover[min(p[i],i)]++;
		mover[max(p[i],i)]--;
	}
	for(int i=1;i<n;i++)mover[i]+=mover[i-1];
	for(int i=0;i<last_voilater;i++) {
		if(mover[i]==0)ans+=2;
	}
	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...