File tree Expand file tree Collapse file tree 1 file changed +37
-0
lines changed
Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.io.BufferedReader ;
3+ import java.io.IOException ;
4+ import java.io.InputStreamReader ;
5+ import java.util.StringTokenizer ;
6+
7+ public class Main {
8+ private static BufferedReader br;
9+
10+ public static void main (String [] args ) throws IOException {
11+ br = new BufferedReader (new InputStreamReader (System . in));
12+ int N = Integer . parseInt(br. readLine());
13+ int [] Arr = new int [N + 1 ];
14+ StringTokenizer st = new StringTokenizer (br. readLine());
15+
16+
17+ for (int i = 1 ; i <= N ; i++ ) {
18+ Arr [i] = Integer . parseInt(st. nextToken());
19+ }
20+
21+ int [] dp = new int [N + 1 ];
22+ dp[0 ] = 0 ;
23+ for (int i = 1 ; i <= N ; i++ ) {
24+ int max = Arr [i];
25+ int min = Arr [i];
26+ dp[i] = Integer . MAX_VALUE ;
27+ for (int j = i; j >= 1 ; j-- ) {
28+ max = Math . max(max, Arr [j]);
29+ min = Math . min(min, Arr [j]);
30+ dp[i] = Math . min(dp[i], dp[j - 1 ] + (max - min));
31+ }
32+ }
33+
34+ System . out. println(dp[N ]);
35+ }
36+ }
37+ ```
You can’t perform that action at this time.
0 commit comments