import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int Q = Integer.parseInt(br.readLine());
        int[] yard_idx_to_value = new int[300001];
        int[] yard_value_to_idx = new int[300001];
        int[] tree_idx_count = new int[300001];
        Arrays.fill(yard_idx_to_value, -1);
        Arrays.fill(yard_value_to_idx, -1);
        ArrayList<Integer> tree_exist_in = new ArrayList<>();
        int tree_num = 0;
        StringBuilder sb = new StringBuilder();
        int index=0;
        for (int i=0; i<Q; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int J = Integer.parseInt(st.nextToken());
            int H = Integer.parseInt(st.nextToken());
            

            if (J==1) {
                if(yard_value_to_idx[H] == -1) {
                    yard_idx_to_value[index] = H;
                    yard_value_to_idx[H] = index;
                    index++;
                } 
                
                tree_num ++;
                tree_idx_count[yard_value_to_idx[H]]++;
                
                if (!tree_exist_in.contains(H)) tree_exist_in.add(H);
            }
            
            if (J==2) {
                for (int j=0; i<tree_exist_in.size(); j++) {
                    int num = tree_exist_in.get(j);
                    System.out.println(num);
                    if (num <= H) {
                        int numIdx = yard_value_to_idx[num];
                        tree_num -= tree_idx_count[numIdx];
                        tree_idx_count[numIdx] = 0;
                        tree_exist_in.remove(j);
                    }
                }
                // for (int num : tree_exist_in) {
                //     if (num <= H) {
                //         tree_num -= tree_idx_count[yard_value_to_idx[H]];
                //         tree_idx_count[yard_value_to_idx[H]] = 0;
                //         tree_exist_in.remove(Integer.valueOf(H));
                //     }
                // }
            }
            sb.append(tree_num).append("\n");
        }
        System.out.println(sb);
        
        
    }
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: