File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed
Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.io.* ;
3+ import java.util.* ;
4+
5+ public class Main {
6+ public static void main (String [] args ) throws IOException {
7+ BufferedReader br = new BufferedReader (new InputStreamReader (System . in));
8+ BufferedWriter bw = new BufferedWriter (new OutputStreamWriter (System . out));
9+
10+ int N = Integer . parseInt(br. readLine());
11+ int [] arr = new int [N ];
12+ StringTokenizer st = new StringTokenizer (br. readLine());
13+ for (int i = 0 ; i < N ; i++ ) arr[i] = Integer . parseInt(st. nextToken());
14+
15+ int [] ans = new int [N ];
16+ Arrays . fill(ans, - 1 );
17+
18+ Deque<Integer > stack = new ArrayDeque<> ();
19+ for (int i = 0 ; i < N ; i++ ) {
20+ while (! stack. isEmpty() && arr[stack. peek()] < arr[i]) {
21+ ans[stack. pop()] = arr[i];
22+ }
23+ stack. push(i);
24+ }
25+
26+ StringBuilder sb = new StringBuilder ();
27+ for (int x : ans) sb. append(x). append(' ' );
28+ bw. write(sb. toString(). trim());
29+ bw. flush();
30+ }
31+ }
32+ ```
You can’t perform that action at this time.
0 commit comments