3wa 4re 求助!!(java)
  • 板块P1102 A-B 数对
  • 楼主Mr_xiao
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/3/6 19:50
  • 上次更新2023/10/23 22:50:53
查看原帖
3wa 4re 求助!!(java)
871152
Mr_xiao楼主2023/3/6 19:50
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.Arrays;

public class Main {
	static StreamTokenizer streamTokenizer=new StreamTokenizer( new BufferedReader(new InputStreamReader(System.in)));
	static PrintWriter printWriter=new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
	public static int nextInt() throws IOException {
		streamTokenizer.nextToken();
		return (int) streamTokenizer.nval;
	} 
	public static char nextchar() throws IOException {
		streamTokenizer.nextToken();
		return (char) streamTokenizer.nval;
	}
	public static String nextString() throws IOException {
		streamTokenizer.nextToken();
		return streamTokenizer.sval;
	}
	static int[] array,ac;
	static int a,l,r,mid,numbre,c;
	public static void main(String[] args) throws IOException {
		int N=nextInt();
		int c=nextInt();
		array=new int[N];
		ac=new int[10000000];
	
		for (int i = 0; i < array.length; i++) {
			array[i]=nextInt();
		}
		Arrays.sort(array);
			for (int i = 0; i < array.length-1; i++) {
			if (array[i]==array[i+1]) {
				ac[array[i]]++;
			}
		}
		for (int i = 0; i < array.length; i++) {
			if (array[i]>c) {//���ȥ��¼�ظ�������
				if(search(array, array[i]-c)!=-1) {
					a=ac[array[i]-c]+1;
				numbre+=a;	
				}
				a=0;
			}
		}
		printWriter.print(numbre);
		printWriter.flush();
	}
	//���ֲ��һ�������
	public static int search(int[] b,int goal) {
		int l=0;int r=b.length-1;
		while(l<=r) {
			mid=(r-l)/2+l;
			int temp=b[mid];
			if (temp==goal) {
				return temp;
			}else if(temp>goal) {
				r=mid-1;
			}else {
				l=mid+1;
			}
		}
		return -1;
	}
}
2023/3/6 19:50
加载中...