#include #include #include #include using namespace std; typedef long long LL; const int N = 100010; const LL INF = 9e18; LL f[N][N], ans, ret; int n, c[N], d[N]; int main() { // freopen("shopping.in", "r", stdin); // freopen("shopping.out", "w", stdout); scanf("%d", &n); for (int i = 1; i <= n; ++i) { scanf("%d%d", &c[i], &d[i]); ans += c[i]; } memset(f, 0x3f, sizeof(f)); f[1][1] = c[1]; for (int i = 2; i <= n; ++i) { for (int j = 1; j < i; ++j) { f[i][i] = min(f[i][i], f[i - 1][j] + c[i]); if (c[j] <= c[i]) { f[i][j] = min(f[i][j], f[i - 1][j] + d[i]); } else { f[i][i] = min(f[i][i], f[i - 1][j] + d[i] + c[i] - c[j]); } } } ret = INF; for (int i = 1; i <= n; ++i) ret = min(ret, f[n][i]); printf("%lld\n", ans + ret); return 0; }