设为首页 加入收藏

TOP

HDU - 5178 - pairs
2015-07-20 17:14:36 来源: 作者: 【 】 浏览:2
Tags:HDU 5178 pairs

pairs

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 349 Accepted Submission(s): 151


Problem Description John has n 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 that |x[b]?x[a]|≤k.(a
Input The first line contains a single integer
T (about 5), indicating the number of cases.
Each test case begins with two integers n,k(1≤n≤100000,1≤k≤109) .
Next n lines contain an integer x[i](?109≤x[i]≤109) , means the X coordinates.
Output For each case, output an integer means how many pairs that |x[b]?x[a]|≤k .
Sample Input
2
5 5
-100
0
100
101
102
5 300
-100
0
100
101
102

Sample Output
3
10

Source BestCoder Round #31



写傻逼了,居然还超时了。。


AC代码:

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include 
      
        #define LL long long using namespace std; int a[100005]; int main() { int T; scanf("%d", &T); while(T--) { int n, k; scanf("%d %d", &n, &k); for(int i = 0; i < n; i++) { scanf("%d", &a[i]); } sort(a, a+n); LL ans = 0; for(int i = 0, j = 0; i < n; i++) { while(j + 1 < n && a[j + 1] - a[i] <= k) j++; ans += (j - i); } cout << ans << endl; } return 0; } 
      
     
    
   
  















】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇九度OJ 1035找出直系亲属 下一篇LeetCode --- Permutations II

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·【C语言】动态内存管 (2025-12-27 06:23:20)
·C语言中的内存管理 - (2025-12-27 06:23:16)
·C语言指南:C语言内 (2025-12-27 06:23:14)
·Redis on AWS:Elast (2025-12-27 04:19:30)
·在 Spring Boot 项目 (2025-12-27 04:19:27)