#include <bits/stdc++.h>
using namespace std;

using ll = long long;

int main() {
	ios::sync_with_stdio(0), cin.tie(0);
	int N; cin >> N;
	vector<ll> L(N), R(N);
	for (int i = 0; i < N; i++) {
		cin >> L[i] >> R[i];
	}

	ll cost = 0;
	ll los = 0, his = 0;
	priority_queue<ll, vector<ll>, less<ll>> lo;
	priority_queue<ll, vector<ll>, greater<ll>> hi;
	lo.push(L[0]), hi.push(L[0]);

	for (int i = 1; i < N; i++) {
		los -= (R[i] - L[i]);
		his += (R[i-1] - L[i-1]);

		ll vlo = lo.top() + los;
		ll vhi = hi.top() + his;
		if (vlo <= L[i] && L[i] <= vhi) {
			lo.push(L[i] - los);
			hi.push(L[i] - his);
		} else if (vhi < L[i]) {
			cost += L[i] - vhi;
			hi.pop();
			lo.push(vhi - los);
			hi.push(L[i] - his);
			hi.push(L[i] - his);
		} else if (L[i] < vlo) {
			cost += vlo - L[i];
			lo.pop();
			hi.push(vlo - his);
			lo.push(L[i] - los);
			lo.push(L[i] - los);
		}
	}

	cout << cost << '\n';

	return 0;
}
