#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const long long INF = LLONG_MAX / 2; int main() { int n; cin >> n; vector > v(n); for(int i=0; i> v[i].second >> v[i].first; sort(v.begin(), v.end()); int m = n - n / 3; vector dp(m+1, INF); dp[0] = 0; for(int i=n-1; i>=0; --i){ for(int j=m-1; j>=0; --j){ long long cost = v[i].first * j + v[i].second; dp[j+1] = min(dp[j+1], dp[j] + cost); } } cout << dp[m] << endl; return 0; }