//#pragma GCC optimize("O3,Ofast,unroll-loops,fast-math")
//#pragma GCC optimize("O3,Ofast")
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int INF = 1e9;
int32_t main(){
ios_base::sync_with_stdio(0);
int n;cin >> n;
vector<int> l , r;
vector<int> arr(n + 1) , best(n + 1);
for(int i = 1 ; i <= n ;i++){
int a , b;cin >> a >> b;
arr[i] = a - b;
if(arr[i] < 0)best[i] = arr[i];
}
for(int i = n ; i >= 1 ; i--)if(arr[i] > 0)r.push_back(i);
for(int i = 1 ; i <= n ;i++){
if(arr[i] > 0){
r.pop_back();
l.push_back(i);
}
int tarr = arr[i];
while(tarr < 0){
int can_l = -INF, can_r = INF;
if(!r.empty())can_r = r.back();
if(!l.empty())can_l = l.back();
if(can_r - i < i - can_l){
int nval = min(0ll , tarr + arr[can_r]);
arr[can_r] -= nval - tarr;
best[can_r] += nval - tarr;
if(arr[can_r] == 0)r.pop_back();
tarr = nval;
}else{
int nval = min(0ll , tarr + arr[can_l]);
arr[can_l] -= nval - tarr;
best[can_l] += nval - tarr;
if(arr[can_l] == 0)l.pop_back();
tarr = nval;
}
}
}
int ans = 0 , pre = 0;
for(int i = 1 ; i <= n ; i++){
ans += abs(pre);
pre += best[i];
}
cout << ans;
}