11import java .io .BufferedReader ;
22import java .io .IOException ;
33import java .io .InputStreamReader ;
4+ import java .util .StringTokenizer ;
45
56
67public class Main {
78 public static void main (String [] args ) throws IOException {
89 BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
10+ int n = Integer .parseInt (br .readLine ());
11+ StringTokenizer st ;
12+ int [] period = new int [n ];
13+ int [] cost = new int [n ];
14+ for (int i = 0 ; i < n ; i ++) {
15+ st = new StringTokenizer (br .readLine ());
16+ int t = Integer .parseInt (st .nextToken ());
17+ int p = Integer .parseInt (st .nextToken ());
18+ period [i ] = t ;
19+ cost [i ] = p ;
20+ }
21+ int [] dp = new int [n +2 ];
22+ for (int i = 0 ; i < n ; i ++) {
23+ if (period [i ]+i <=n +1 ){
24+ dp [period [i ]+i ]=Math .max (dp [period [i ]+i ], dp [i ]+cost [i ]);
925
26+ }
27+ dp [i +1 ]=Math .max (dp [i ],dp [i +1 ]);
28+ }
29+ System .out .println (dp [n ]);
1030
11- int N = Integer .parseInt (br .readLine ());
12- int [] dp =new int [N +2 ];
13- int [] T = new int [N +1 ];
14- int [] P =new int [N +1 ];
1531
16- for (int i = 0 ; i < N ; i ++) {
17- String [] tmp = br .readLine ().split (" " );
18- int t = Integer .parseInt (tmp [0 ]);
19- int p = Integer .parseInt (tmp [1 ]);
2032
21- if (t +i <=N +1 ){
22- dp [i +t ]=Math .max (dp [i ]+p , dp [i +t ]);
23- }
24- dp [i +1 ]=Math .max (dp [i +1 ],dp [i ]);
2533
26- }
27- System .out .println (dp [N ]);
2834
2935 }
3036}
0 commit comments