제출 #775874

#제출 시각아이디문제언어결과실행 시간메모리
775874ttamx고대 책들 (IOI17_books)C++14
0 / 100
1 ms340 KiB
#include "books.h"
#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

const int N=1e6+5;

struct fenwick{
	ll t[N];
	void add(int i,ll v){
		while(i<N)t[i]+=v,i+=i&-i;
	}
	ll read(int i){
		ll res=0;
		while(i>0)res+=t[i],i-=i&-i;
		return res;
	}
}f;

long long minimum_walk(vector<int> p, int s){
	for(auto &x:p)x++;
	int n=p.size();
	ll ans=0;
	ll pos=0;
	ll lz=0;
	f.add(p[0],1);
	for(int i=1;i<n;i++){
		ll res=f.read(p[i]);
		if(res!=i){
			ans+=(i-pos)+(i-res);
			if(res<pos)lz=pos;
			else lz=0;
			pos=res;
		}
		f.add(p[i],1);
	}
	ans+=abs(pos-lz)+lz;
	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...