Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
588
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.27 KB | None | 0 0
  1. package javaapplication11;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.ArrayDeque;
  7.  
  8. public class JavaApplication11 {
  9.     public static void main(String[] args) throws IOException {
  10.         BufferedReader buffer=new BufferedReader(new InputStreamReader(System.in));
  11.        
  12.         int n = Integer.valueOf(buffer.readLine());
  13.        
  14.         String[] plants = buffer.readLine().split(" ");
  15.        
  16.         ArrayDeque<Integer> indexes = new ArrayDeque<>();
  17.         indexes.push(0);
  18.        
  19.         int[] days = new int[n];
  20.  
  21.         for (int i = 0; i < n; i++) {
  22.  
  23.             int maxDays = 0;
  24.  
  25.             while (indexes.size() > 0 && Integer.valueOf(plants[indexes.peek()]) >= Integer.valueOf(plants[i])) {
  26.                 maxDays = Math.max(maxDays, days[indexes.pop()]);
  27.             }
  28.  
  29.             if (indexes.size() > 0) {
  30.                 days[i] = maxDays + 1;
  31.             }
  32.  
  33.             indexes.push(i);
  34.         }
  35.         System.out.println(max(days));
  36.     }
  37.    
  38.     private static int max(int[] days) {
  39.         int max = Integer.MIN_VALUE;
  40.         for (int day : days) {
  41.             if (day > max) {
  42.                 max = day;
  43.             }
  44.         }
  45.         return max;
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement