#include "bits/stdc++.h" #define in std::cin #define out std::cout #define rep(i,N) for(LL i=0;i>item; std::vector>memo; LL dp(LL i, LL j) { if (i == N) { if (j == N - N / 3) return 0; return inf; } if (memo[i][j] != -1) return memo[i][j]; LL res1 = dp(i + 1, j), res2 = dp(i + 1, j + 1) + item[i].second + item[i].first*j; return memo[i][j] = std::min(res1, res2); } int main() { in >> N; std::vectorA(N), B(N); rep(i, N) in >> A[i] >> B[i]; rep(i, N) item.push_back(std::make_pair(B[i], A[i])); std::sort(item.begin(), item.end(), std::greater>()); memo.resize(N); rep(i, memo.size()) memo[i].resize(N, -1); out << dp(0, 0) << std::endl; }