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;
- import java.util.List;
- import java.util.stream.Collectors;
- public class earthquake {
- public static void main(String[] args) throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- int lines = Integer.parseInt(reader.readLine());
- ArrayDeque<List<Integer>> queue = new ArrayDeque<>();
- String output = "";
- int count = 0;
- for (int i = 0; i < lines; i++) {
- List<Integer> array = Arrays.stream(reader.readLine().split("\\s+"))
- .mapToInt(Integer::valueOf)
- .boxed()
- .collect(Collectors.toList());
- queue.offer(array);
- }
- while (queue.size() > 0) {
- boolean isBiggest = true;
- List<Integer> currentWave = queue.poll();
- if (currentWave.size() == 1) {
- output += " " + currentWave.get(0);
- count++;
- continue;
- } else {
- int seismicity = currentWave.get(0);
- for (int i = 1; i < currentWave.size(); i++) {
- if (seismicity >= currentWave.get(i)) {
- currentWave.remove(i);
- i--;
- } else {
- output += " " + seismicity;
- count++;
- currentWave.remove(0);
- queue.offer(currentWave);
- isBiggest = false;
- break;
- }
- }
- if (isBiggest) {
- queue.offer(currentWave);
- }
- }
- }
- System.out.println(count);
- System.out.println(output.trim());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement