Submission #302033

#TimeUsernameProblemLanguageResultExecution timeMemory
302033TMJNAncient Books (IOI17_books)C++17
0 / 100
2043 ms512 KiB
#include "books.h"
#include <bits/stdc++.h>
using namespace std;

long long minimum_walk(vector<int>P,int S){
	assert(S==0);
	int N=P.size();
	int d=0;
	int p=0;
	int h=P[0];
	P[0]=-1;
	while(true){
		bool f=false;
		for(int i=p;i<N;i++){
			if(P[i]<h)f=true;
		}
		if(f){
			int l;
			for(int i=p;i<N;i++){
				if(P[i]<h){
					swap(P[i],h);
					l=i;
				}
			}
			d+=l-p;
			l=p;
			continue;
		}
		for(int i=p;i>=0;i--){
			if(P[i]>h)f=true;
		}
		if(f){
			int l;
			for(int i=p;i>=0;i--){
				if(P[i]>h){
					swap(P[i],h);
					l=i;
				}
			}
			d+=p-l;
			l=p;
			continue;
		}
		d+=p;
		break;
	}
	return d;
}
#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...