输入:第一行输入 一个数n(接下来的n行输入n个数),一个数m(表示有m个查询),n=0||m=0结束
输出:输出m个查询到的数字在排序后的数列中的位置
样例:
题解:
import java.util.*;
import java.io.*;
public class Main {
static class InputReader {
public BufferedReader reader;
public StringTokenizer tokenizer;
public InputReader(InputStream stream) {
reader = new BufferedReader(new InputStreamReader(stream), 32768);
tokenizer = new StringTokenizer("");
}
private void eat(String s) {
tokenizer = new StringTokenizer(s);
}
public String nextLine() {
try {return reader.readLine();
} catch (Exception e) {return null;
}
}
public boolean hasNext() {
while (!tokenizer.hasMoreTokens()) {
String s = nextLine();
if (s == null)return false;
eat(s);
}
return true;
}
public String next() {
hasNext();
return tokenizer.nextToken();
}
public int nextInt() {
return Integer.parseInt(next());
}
public long nextLong() {
return Long.parseLong(next());
}
public double nextDouble() {
return Double.parseDouble(next());
}
}
public static void main(String[] args){
InputReader scan=new InputReader(System.in);
int num=1;
while(scan.hasNext()){
int N=scan.nextInt();
int Q=scan.nextInt();
if(N==0||Q==0)break;
ArrayList<Integer> list=new ArrayList<Integer>();
int q[]=new int[Q];
for(int i=0;i<N;i++)list.add(scan.nextInt());
for(int i=0;i<Q;i++)q[i]=scan.nextInt();
Collections.sort(list);
System.out.println("CASE# "+num+":");
for(int j=0;j<q.length;j++){
int t=search(list,q[j]);
if(t!=0)
System.out.println(q[j]+" found at "+t);
else
System.out.println(q[j]+" not found");
}num++;
}
}
public static int search(ArrayList<Integer> list,int q){
for(int i:list)
if(q==i)
return list.indexOf(i)+1;
return 0;
}
}