#include <iostream> #include <vector> using namespace std; int main() { int N, max_pay = 0; cin >> N; vector <int> T(N+1), P(N+1); for(int i=0; i<N; i++) { cin >> T[i] >> P[i]; } vector <int> dp(N+1); for(int i=0; i<=N; i++) { dp[i] = max(max_pay, dp[i]); if(i + T[i] <= N) { dp[i + T[i]] = max(dp[i] + P[i], dp[i + T[i]]); } max_pay = max(dp[i], max_pay); } cout << max_pay; return 0; }