时间限制:2s 内存限制:32MB

问题描述

yyy对三角形非常感兴趣,他有n个木棍,他正在用这些木棍组成三角形。这时xxx拿了两根木棍过来,xxx希望yyy能给他一根木棍,使得xxx可以组成一个三角形。yyy想知道他有多少根木棍满足xxx的要求。

输入描述

第一行一个整数T(1≤T≤5)表示数据组数。

对于每组数据第一行两个整数n(1≤n≤〖10〗^5 ),q(1≤q≤〖10〗^5),分别表示yyy的木棍数量和xxx的询问次数。第二行n个用空格分开的整数L_i (1≤L_i≤〖10〗^9),分别表示yyy的n根木棍的长度。接下来q行,每行两个整数a,b(1≤a,b≤〖10〗^9),表示xxx每次询问两根木棍的长度。

输出描述

对于每组数据,输出q行,每行一个整数表示答案。

输入样例

1

7 2

2 8 5 1 10 5 9

3 9

6 5

输出样例

3

6

【题目链接】:

【题解】



三角形的三边要满足

a+b>c

a+c>b

b+c>a

则转换一下就是

    max(a-b,b-1)<c<a+b

排序后用二分搞出两个端点就可以了;



【完整代码】

#include <bits/stdc++.h>
#define rep1(i,a,b) for (int i = a;i <= b;i++)
using namespace std;
#define pb push_back; const int MAXN = 1e5+100; int n,q;
int c[MAXN]; int main()
{
//freopen("D:\\rush.txt","r",stdin);
int T;
scanf("%d",&T);
while (T--)
{
scanf("%d%d",&n,&q);
rep1(i,1,n)
scanf("%d",&c[i]);
sort(c+1,c+1+n);
rep1(i,1,q)
{
int L,R,a,b;
scanf("%d%d",&a,&b);
L = max(b-a,a-b);
R = a+b;
int l = 0,r = n,ans1=0;
while (l <= r)
{
int m = (l+r)>>1;
if (L<c[m])
{
ans1 = m;
r = m-1;
}
else
l = m+1;
} l = 0,r = n;
int ans2=0;
while (l <= r)
{
int m = (l+r)>>1;
if (c[m]<R)
{
ans2 = m;
l = m+1;
}
else
r = m-1;
}
printf("%d\n",ans2-ans1+1);
}
}
return 0;
}

最新文章

  1. yii中的cookie的发送和读取
  2. python 实现文件下载
  3. jquery中的事件与动画
  4. js模板
  5. 世纪互联运营的Microsoft Azure正式支持FreeBSD虚拟机镜像
  6. Quartz定时任务学习(九)Quartz监听器
  7. 关于URL编码的问题
  8. linux基础 作业篇
  9. BZOJ 3963: [WF2011]MachineWorks [CDQ分治 斜率优化DP]
  10. 快速高分辨率图像的立体匹配方法Effective large scale stereo matching
  11. 4.5管道实现机制和模拟构建管道「深入浅出ASP.NET Core系列」
  12. Delphi中DLL初始化和退出处理
  13. [UE4]Visiblity、Render Opacity
  14. postman 学习网址
  15. Material Designer的低版本兼容实现(九)—— Float Button &amp; Small Float Button
  16. windows,linux下SVN实现自动更新WEB目录
  17. 常用数据库4 mongodb
  18. no libsigar-amd64-linux.so in java.library.path 解决方法
  19. 初识python版本
  20. Balanced and stabilized quicksort method

热门文章

  1. 如何使用Linux套接字?
  2. Java学习笔记九
  3. vue中watch函数的用法
  4. echarts如何设置背景图的颜色
  5. 洛谷 P1916 小书童——蚂蚁大战
  6. 文档翻译第003篇:Process Monitor帮助文档(Part 3,附Process Monitor的简单演示)
  7. JS 数字格式千分位相互转换
  8. WEB前端--深入进去
  9. Vue 自定义全局消息框组件
  10. ajax利用php上传图片