Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayDeque;
- import java.util.Arrays;
- public class Main {
- public static void main(String[] args) throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- int initialPlantsCount = Integer.parseInt(reader.readLine());
- int[] plants = Arrays.stream(reader.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
- short[] days = new short[initialPlantsCount];
- ArrayDeque<Integer> temp = new ArrayDeque<>();
- temp.push(0);
- short maxDay=0;
- for (int i = 1; i < initialPlantsCount; i++) {
- short maxDays = 0;
- while (temp.size() > 0 && plants[temp.peek()] >= plants[i]) {
- maxDays = (short) Math.max(maxDays, days[temp.pop()]);
- }
- if (temp.size() > 0) {
- days[i] = ++maxDays;
- if(days[i]>maxDay){
- maxDay=days[i];
- }
- }
- temp.push(i);
- }
- System.out.println(maxDay);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement