Java不超时版本
加了快速输入输出才能过,要么T import java.io.*;
import java.util.Scanner;
import java.lang.reflect.Array;
import java.util.*;
/**
* @Author: Shang Huaipeng
* @Date: 2020/4/1 14:36
* @Version 1.0
*/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
try {
StreamTokenizer sc = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
sc.nextToken();
int n = (int)sc.nval;
int lo[][] = new int[n][2];
for (int i = 0; i < n; i++) {
sc.nextToken();
lo[i][0] = (int)sc.nval;
lo[i][1] = i + 1;
}
sc.nextToken();
int m = (int)sc.nval;
int yan[][] = new int[m][2];
for (int i = 0; i < m; i++) {
sc.nextToken();
yan[i][0] = (int)sc.nval;
yan[i][1] = i;
}
Arrays.sort(lo, (o1, o2) -> o1[0] - o2[0]);
Arrays.sort(yan, (o1, o2) -> o1[0] - o2[0]);
int ans[] = new int[m];
boolean vis[] = new boolean[n + 2];
int kuai = 1;
int j = 0;
vis[0] = vis[n + 1] = true;
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
for (int i = 0; i < m; i++) {
for (; j < n && lo[j][0] <= yan[i][0]; j++) {
vis[lo[j][1]] = true;
int tot = 0;
if (vis[lo[j][1] - 1]) tot++;
if (vis[lo[j][1] + 1]) tot++;
if (tot == 2) kuai--;
if (tot == 0) kuai++;
}
ans[yan[i][1]] = kuai;
}
for (int i = 0; i < m; i++) {
out.println(ans[i]);
}
out.flush();
}
catch (Exception e){
}
}
}