大佬们 help
import java.util.Scanner;
import java.util.Collections;
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
LinkedList<Integer> arr = new LinkedList<Integer>();
int c = n;
while (c-- != 0) {
int op = scan.nextInt();
int x = scan.nextInt();
//binarySearch能够查找指定的x并返回其下标,如果没找到,则返回第一个比他大的
//数是第几个数(从1开始)并且乘上-1
int inx = Collections.binarySearch(arr, x);
if (op == 1) {
if (inx < 0) {
//以前不存在
inx = -inx;
System.out.println(inx);
} else {
System.out.println(inx + 1);
}
} else if (op == 2) {
System.out.println(arr.get(x - 1));
} else if (op == 3) {
if (inx >= 0) {
if (inx == 0) {
//没有前驱
System.out.println("−2147483647");
} else {
System.out.println(arr.get(inx - 1));
}
} else {
inx = -inx;
if (inx == 1) {
//没有前驱
System.out.println("-2147483647");
} else {
System.out.println(arr.get(inx - 2));
}
}
} else if (op == 4) {
if (inx >= 0) {
if (inx == arr.size() - 1) {
//没有后继
System.out.println("2147483647");
} else {
System.out.println(arr.get(inx + 1));
}
} else {
inx = -inx;
if (inx >= arr.size() + 1) {
//没有后继
System.out.println("2147483647");
} else {
System.out.println(arr.get(inx - 1));
}
}
} else {
if (inx < 0) {
inx = -inx;
arr.add(inx - 1, x);
}
}
}
scan.close();
}
}