import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
static int n,m,a,ans;
static data[] N=new data[1000005];
static boolean pd(int A,int l,int r) {
int mid=(l+r)/2;
if(N[mid].h==A) {
ans=N[mid].H;
return true;
}
if(l>r) return false;
if(A<=N[mid].h) {
return pd(A,l,mid-1);
}else {
return pd(A,mid+1,r);
}
}
public static void main (String args[ ]) {
Scanner in=new Scanner(System.in);
n=in.nextInt();
for(int i=1;i<=n;i++) {
int g=in.nextInt();
N[i]=new data(g,i);
}
Arrays.sort(N,1,n+1,new Compare());
m=in.nextInt();
for(int i=1;i<=m;i++) {
a=in.nextInt();
if(pd(a,1,n)) {
System.out.println(ans);
}else {
System.out.println("0");
}
}
in.close();
}
}
class data{
int h,H; //H来记录原先的坐标,对应的保龄球个数(h)
data(int h,int H){
this.h=h;
this.H=H;
}
}
class Compare implements Comparator<data>{
public int compare(data d1, data d2) {
return d1.h-d2.h;
}
}
P1918 保龄球(二分,结构体快排,java,洛谷)
最新推荐文章于 2023-11-09 22:13:51 发布