#include <iostream>
using namespace std;
#define int long long
const int N = 1<<20, M = 30005;
long long Pre[N], Suf[N], Pct[N], Sct[N], a[N], b[N];
int dp[2][M * 2], val[M * 2];
signed main(){
long long n, Ans = 1e18, Sum = 0;
cin>>n;
for (int i=1;i<=n;i++){
cin>>a[i]>>b[i];
int k = min(a[i], b[i]);
a[i] -= k, b[i] -= k;
}
for (int i=1;i<=n;i++){
Pre[i] = Pre[i-1] + a[i] - b[i];
Pct[i] = Pct[i-1] + abs(Pre[i]);
}
if (Pre[n] == 0)
return cout<<Pct[n]<<'\n', 0;
for (int i=0;i<2 * M;i++)
dp[0][i] = dp[1][i] = 1e15;
dp[0][M] = 0;
for (int i=1;i<=n;i++){
if (a[i] > 0){
for (int j=0;j+a[i]<2 * M;j++)
val[j + a[i]] = dp[0][j];
for (int j=2 * M - 1, vl = 1e15;j>=M;j--){
vl = min(vl, val[j]);
dp[1][j] = min(dp[1][j], vl + abs(j - M));
}
}
else{
for (int j=2*M-1;j - b[i] >= 0;j--)
dp[1][j - b[i]] = dp[0][j] + abs(j - b[i] - M);
}
for (int j=0;j<M * 2;j++){
dp[0][j] = dp[1][j], dp[1][j] = 1e15;
// if (dp[0][j] >= 1e15)
// cout<<"__ ";
// else
// cout<<dp[0][j]<<' ';
}
// cout<<'\n';
}
cout<<dp[0][M]<<'\n';
}