#include #include //#include #include using namespace std; #define MAX_N 1001 #define MAX_H 1001 #define UNDEF -1 int N; int H[MAX_N]; int C[MAX_N]; int mem[MAX_N][MAX_H+2]; int torri_din() { for(int i=N-1; i>=0; i--) for(int h=MAX_H; h>=0; h--) if (H[i] >= h) mem[i][h] = C[i] + mem[i+1][h]; else mem[i][h] = min( C[i] + mem[i+1][h], mem[i+1][H[i]]); return mem[0][MAX_H]; } int main() { ifstream fin("input.txt"); assert(fin); fin >> N; for(int i = 0; i < N; i++) fin >> H[i] >> C[i]; fin.close(); ofstream fout("output.txt"); assert(fout); fout << torri_din(); fout.close(); return 0; }