BestCoder_Pairs
来源:互联网 发布:p2psearcher百度软件 编辑:程序博客网 时间:2024/06/06 09:09
pairs
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 0 Accepted Submission(s): 0
Problem Description
John hasn points on the X axis, and their coordinates are(x[i],0),(i=0,1,2,…,n−1) . He wants to know how many pairs<a,b> that|x[b]−x[a]|≤k.(a<b)
Input
The first line contains a single integerT (about 5), indicating the number of cases.
Each test case begins with two integersn,k(1≤n≤100000,1≤k≤109) .
Nextn lines contain an integerx[i](−109≤x[i]≤109) , means the X coordinates.
Output
For each case, output an integer means how many pairs<a,b> that|x[b]−x[a]|≤k .
Sample Input
25 5-10001001011025 300-1000100101102
Sample Output
310简单水题!相信也不需要多说,二重循环一下就行.只是注意它每次减的数,是|x[b]−x[a]|,是两个数的绝对值.不能减多了也不能减少了!中文在下面......<span style="font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 14px; line-height: 1.42857143; white-space: pre-wrap;">import java.io.*;import java.util.*;public class Main{public static void main(String[] args){// TODO Auto-generated method stubScanner input = new Scanner(System.in);int t = input.nextInt();for (int i = 0; i < t; i++){int n = input.nextInt();int a[] = new int[n];int sum = 0, flag = 0;int k = input.nextInt();for (int j = 0; j < n; j++){a[j] = input.nextInt();}for (int j = 0; j < n; j++){for (int l = j + 1; l < n; l++){if (a[j] - a[l] < 0){flag = -(a[j] - a[l]);} else{flag = a[j] - a[l];}if (flag <= k){sum++;}}}System.out.println(sum);}}}</span>
pairs
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 483 Accepted Submission(s): 234
问题描述
John 在X轴上拥有n 个点,他们的坐标分别为(x[i],0),(i=0,1,2,…,n−1) 。 他想知道有多少对<a,b> 满足|x[b]−x[a]|≤k(a<b) 。
输入描述
第一行包含一个正整数T (大约5),表示有多少组数据。对于每一组数据,先读入两个数n,k(1≤n≤100000,1≤k≤109) 。接下来n 行,分别输入x[i](−109≤x[i]≤109) 。
输出描述
对于每组数据,输出一行表示有多少对<a,b> 满足|x[b]−x[a]|≤k 。
输入样例
25 5-10001001011025 300-1000100101102
输出样例
310
0 0