제출 #302243

#제출 시각아이디문제언어결과실행 시간메모리
302243TMJN고대 책들 (IOI17_books)C++17
0 / 100
1 ms512 KiB
#include "books.h"
#include <bits/stdc++.h>
using namespace std;

int p,d,h;
vector<int>P;

void movel(int x){
	for(int i=p;i>=x;i--){
		if(h>P[i]){
			swap(h,P[i]);
		}
	}
	d+=p-x;
	p=x;
}

void mover(int x){
	for(int i=p;i<=x;i++){
		if(h<P[i]){
			swap(h,P[i]);
		}
	}
	d+=x-p;
	p=x;
}

long long minimum_walk(vector<int>ppp,int S){
	P=ppp;
	assert(S==0);
	int N=P.size();
	p=0;
	d=0;
	h=P[0];
	P[0]=-1;
	for(int i=N-1;i>0;i--){
		if(P[i]==i)continue;
		for(int j=0;j<N;j++){
			if(P[j]==i){
				if(j<p)movel(j);
				if(i<p)movel(i);
				mover(i);
				break;
			}
		}
	}	
	return d+p;
}
#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...