제출 #283896

#제출 시각아이디문제언어결과실행 시간메모리
283896emanIaicepsaAncient Books (IOI17_books)C++14
12 / 100
2 ms384 KiB
#include "books.h"
#include <bits/stdc++.h>
#define vi vector<int>
#define pii pair<int,int>
#define fi first
#define se second
#define pb emplace_back
using namespace std;

int n;
vector<pii> v;
int inter(pii a,pii b){
	if(a.fi > b.fi) swap(a,b);
	if(b.se <= a.se) return b.se - b.fi; 
	if(b.fi >= a.se) return 0;
	return a.se - b.fi;
}
long long minimum_walk(std::vector<int> p, int s) {
	int r = p.size() - 1;
	for(int i=0;i<r;i++) if(p[i] > i) v.pb(i, p[i]);
	while(r > 0 && p[r] == r) r--;
	int n = v.size(), ans = r;
	for(int i=0;i<n;i++){
		for(int j=i+1;j<n;j++){
			ans += inter(v[i],v[j]);
		}
	}
	return ans*2;
}
#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...