1- import java .io .BufferedReader ;
2- import java .io .InputStreamReader ;
3- import java .util .StringTokenizer ;
4- import java .util .stream .Stream ;
5-
1+ import java .io .*;
2+ import java .util .*;
63public class Main {
7-
8- static int right , left , high , width , ans ;
4+ static int h , w ;
95 static int [] map ;
10-
6+ static StringTokenizer st ;
7+ static StringBuilder sb ;
8+ static BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
9+ static BufferedWriter bw = new BufferedWriter (new OutputStreamWriter (System .out ));
1110 public static void main (String [] args ) throws Exception {
12- BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
13- StringTokenizer st = new StringTokenizer (br .readLine ());
11+ pre_setting ();
12+ bw .append (sb .append (rain_check ()));
13+ bw .close ();
14+ }
1415
15- high = Integer .parseInt (st .nextToken ());
16- width = Integer .parseInt (st .nextToken ());
17- map = Stream .of (br .readLine ().split (" " )).mapToInt (Integer :: parseInt ).toArray ();
18- for (int now = 1 ; now < map .length - 1 ; now ++) {
19- right = 0 ;
20- left = 0 ;
16+ private static int rain_check () {
17+ int ans , left , right ;
2118
22- for (int i = 0 ; i < now ; i ++) {
23- left = Math .max (map [i ], left );
24- }
25- for (int i = now + 1 ; i < map .length ; i ++) {
26- right = Math .max (map [i ], right );
27- }
28- if (map [now ] < right && map [now ] < left ){
29- ans += Math .min (right , left ) - map [now ];
30- }
19+ ans = 0 ;
20+ for (int now = 1 ; now < w - 1 ; now ++){
21+ left = 0 ;
22+ right = 0 ;
23+ for (int l = 0 ; l < now ; l ++) left = Math .max (map [l ], left );
24+ for (int r = now + 1 ; r < w ; r ++) right = Math .max (map [r ], right );
25+
26+ ans += Math .max (Math .min (left , right ) - map [now ], 0 );
3127 }
32- System . out . println ( ans ) ;
28+ return ans ;
3329 }
3430
31+ private static void pre_setting () throws Exception {
32+ sb = new StringBuilder ();
33+ st = new StringTokenizer (br .readLine ());
34+
35+ h = Integer .parseInt (st .nextToken ());
36+ w = Integer .parseInt (st .nextToken ());
37+ map = new int [w ];
38+
39+ st = new StringTokenizer (br .readLine ());
40+ for (int i = 0 ; i < w ; i ++) map [i ] = Integer .parseInt (st .nextToken ());
41+ }
3542}
0 commit comments