当前位置: 首页 > news >正文

C. Number of Pairs

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

You are given an array a� of n� integers. Find the number of pairs (i,j)(�,�) (1≤i<j≤n1≤�<�≤�) where the sum of ai+aj��+�� is greater than or equal to l� and less than or equal to r� (that is, l≤ai+aj≤r�≤��+��≤�).

For example, if n=3�=3, a=[5,1,2]�=[5,1,2], l=4�=4 and r=7�=7, then two pairs are suitable:

  • i=1�=1 and j=2�=2 (4≤5+1≤74≤5+1≤7);
  • i=1�=1 and j=3�=3 (4≤5+2≤74≤5+2≤7).

Input

The first line contains an integer t� (1≤t≤1041≤�≤104). Then t� test cases follow.

The first line of each test case contains three integers n,l,r�,�,� (1≤n≤2⋅1051≤�≤2⋅105, 1≤l≤r≤1091≤�≤�≤109) — the length of the array and the limits on the sum in the pair.

The second line contains n� integers a1,a2,…,an�1,�2,…,�� (1≤ai≤1091≤��≤109).

It is guaranteed that the sum of n� overall test cases does not exceed 2⋅1052⋅105.

Output

For each test case, output a single integer — the number of index pairs (i,j)(�,�) (i<j�<�), such that l≤ai+aj≤r�≤��+��≤�.

Example

input

Copy

4
3 4 7
5 1 2
5 5 8
5 1 2 4 3
4 100 1000
1 1 1 1
5 9 13
2 5 5 1 1

output

Copy

2
7
0
1

解题说明:此题是一道数学题,为了找到这样数字组合,可以先对数列进行排序,排序后,用lower_bound和upper_bound找到边界,然后中间的就都是满足条件的数字对。

lower_bound返回第一个大于等于val的元素的迭代器

upper_bound返回第一个大于val的元素的迭代器

#include<bits/stdc++.h>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{int t;cin >> t;while (t--){long long int n, l, r, k = 0;cin >> n >> l >> r;int a[200001];for (int i = 0; i < n; i++){cin >> a[i];}sort(a, a + n);for (int i = 0; i < n; i++){int j = lower_bound(a + i + 1, a + n, l - a[i]) - a;int p = upper_bound(a + i + 1, a + n, r - a[i]) - a;k = k + p - j;}cout << k << endl;}return 0;
}

相关文章:

C. Number of Pairs

time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given an array a&#xfffd; of n&#xfffd; integers. Find the number of pairs (i,j)(&#xfffd;,&#xfffd;) (1≤i<j≤n1≤…...

Js 保留关键字

JavaScript 关键字用于标识要执行的操作&#xff0c;和其他任何编程语言一样&#xff0c;JavaScript 保留了一些关键字为自己所用&#xff1b;这些关键字有些在目前的版本中可能没有使用&#xff0c;但在以后 JavaScript 扩展中会用到。 以下是JS中最重要的保留关键字&#xf…...

nodejs+vue+python+PHP+微信小程序-安卓-房产中介管理信息系统的设计与实现-计算机毕业设计

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…...

【系统架构设计】架构核心知识: 3.5 Redis和ORM

目录 一 Redis 1 Redis与MemCache 2 Redis分布式存储方案 3 Redis集群切片的方式 4 Redis数据分片...

linux时间同步

搭建集群时&#xff0c;都会先设置时间同步&#xff0c;否则会出现多种问题。 方式一&#xff1a; 1.安装ntp软件 yum install -y ntp 2.更新时区 删除原有时区&#xff1a;sudo rm -f /etc/localtime 加载新时区&#xff1a;sudo ln -s /usr/share/zoneinfo/Asia/Shangh…...

mysql++库connected与ping方法的区别

mysql库connected与ping方法的区别 前段时间开发公司代码的时候&#xff0c;我写了一个多线程调用数据库的函数&#xff0c;每个线程都是要连接数据库的&#xff0c;为了防止在查找数据之前&#xff0c;线程连接数据库断开&#xff0c;我使用定时器每20s检测一下线程连接数据库…...

拆位线段树 E. XOR on Segment

Problem - E - Codeforces 区间求和&#xff0c;区间异或的操作跟线段树的区间求和、区间相见相似&#xff0c;考虑用线段树。 发现数组初始值最多是1e6&#xff0c;有不到25位&#xff0c;可以知道异或最大值是这些位数全是1的情况。 发现可以对每一位进行运算就和。 我们开…...

JVM及其垃圾回收机制(GC)

目录 一.JVM内存区域划分 二.JVM类加载机制 类加载过程 类加载的时机 双亲委派模型 三.JVM垃圾回收机制&#xff08;GC) GC工作过程 1.找到垃圾/判断垃圾 &#xff08;1&#xff09;引用计数【python/PHP】 &#xff08;2&#xff09;可达性分析【Java】 2.对象释放…...

友元的三种实现

友元的三种实现 全局函数做友元类做友元成员函数做友元 #include <iostream> #include <string> using namespace std;//友元的三种实现 // //* 全局函数做友元 //* 类做友元 //* 成员函数做友元class Building {//告诉编译器 goodGay全局函数 是 Building类的好…...

聊聊logback的DuplicateMessageFilter

序 本文主要研究一下logback的DuplicateMessageFilter TurboFilter ch/qos/logback/classic/turbo/TurboFilter.java public abstract class TurboFilter extends ContextAwareBase implements LifeCycle {private String name;boolean start false;/*** Make a decision …...

WordPress 文档主题模板Red Line -v0.2.2

此主题作为框架&#xff0c;做承载第三方页面之用&#xff0c;例如飞书文档等&#xff0c; 您可以将视频图片等资源放第三方文档上&#xff0c;通过使用此主题做目录用。 此主题使用前后端分离开发&#xff0c;也使用了一些技术尽量不影响正常的SEO&#xff0c;还望注意。 源码…...

网络和Linux网络_1(网络基础)网络概念+协议概念+网络通信原理

目录 1. 网络简介 1.1 独立模式和互联网络模式 1.2 局域网LAN和广域网WAN 2. 协议和协议分层 2.1 协议的作用 2.2 协议分层 2.3 OSI七层模型 3.2 TCP/IP四层(五层)模型 3. 网络通信原理 3.1 协议报头 3.2 局域网和解包分用 3.3 广域网和跨网络 4. 网络中的地址 4…...

AI生成PPT工具——Gamma,结合GPT生成不错的效果

AI生成PPT工具——Gamma&#xff0c;结合GPT生成不错的效果 先告诉GPT我现在要参加一个比赛&#xff0c;请他帮忙梳理一下内容。当然整个过程需要不断调整&#xff0c;GPT生成的内容也不是一次就是最好的 不断调整之后让其列出提纲即可&#xff0c;如下&#xff1a; 紧接着我们…...

DcatAdmin使用模版文件时模板标签不生效

伪源码 PHP代码如下 public function 方法名(){return view(view_dir.view_name,[key1>value1]); }模版代码如下 <tr><td>键名</td> </tr> <tr><td>{{ $key1 }}</td> </tr>现象&#xff1a; 页面htmlt元素正常展示&…...

【算法】算法题-20231114

这里写目录标题 一、LCR 181. 字符串中的单词反转二、557. 反转字符串中的单词 III三、344. 反转字符串四、给定一个已按照升序排列的有序数组&#xff0c;找到两个数使得它们相加之和等于目标数。五、力扣第49题&#xff1a;字母异位词分组 一、LCR 181. 字符串中的单词反转 …...

时序数据库 TDengine + 高级分析软件 Seeq,助力企业挖掘时序数据潜力

作为一款制造业和工业互联网&#xff08;IIOT&#xff09;高级分析软件&#xff0c;Seeq 支持在工艺制造组织中使用机器学习创新的新功能。这些功能使组织能够将自己或第三方机器学习算法部署到前线流程工程师和主题专家使用的高级分析应用程序&#xff0c;从而使单个数据科学家…...

【Rust 日报】2023-11-12 socketioxide

gosub.io正在尝试用Rust构建一个Web浏览器 一个html5的分词器/解析器&#xff0c;正在成为浏览器的项目。 GoSub是Gateway to Optimized Searching and Unlimited Browsing的简称&#xff0c;目前还处于极早期阶段。 GitHub: https://github.com/gosub-browser socketioxide 0.…...

Redis快速入门(基础篇)

简介&#xff1a; 是一个高性能的 key-value数据库。 存在内存中 与其他 key-value 缓存产品有以下三个特点&#xff1a; Redis支持数据的持久化&#xff0c;可以将内存中的数据保持在磁盘中&#xff0c;重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类…...

(三)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB

一、七种算法&#xff08;DBO、LO、SWO、COA、LSO、KOA、GRO&#xff09;简介 1、蜣螂优化算法DBO 蜣螂优化算法&#xff08;Dung beetle optimizer&#xff0c;DBO&#xff09;由Jiankai Xue和Bo Shen于2022年提出&#xff0c;该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁…...

SpringBoot--中间件技术-3:整合mongodb,整合ElasticSearch,附案例含代码(简单易懂)

SpringBoot整合mongodb 实现步骤&#xff1a; pom文件导坐标 <!--mongo--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency&g…...

NonBlockingDelay:嵌入式非阻塞延时库原理与实践

1. 项目概述NonBlockingDelay 是一个专为嵌入式系统设计的轻量级、零依赖、单头文件&#xff08;.hpp&#xff09;非阻塞延时库。其核心目标是彻底替代delay()这类会挂起 CPU、阻塞所有任务执行的同步延时函数&#xff0c;使开发者能够在维持主循环&#xff08;loop()&#xff…...

聊城本地企业获客服务商推荐与测评(2026版)

2026年&#xff0c;随着 豆包、文心一言 等生成式AI工具的普及&#xff0c;企业获客方式正在发生根本性变化&#xff1a;用户不再依赖传统搜索引擎&#xff0c;而是直接通过AI获取推荐结果。对于聊城本地企业而言&#xff0c;无论是机械制造、农产品加工&#xff0c;还是本地生…...

深入解析AdaptiveAvgPool2d:从原理到实践

1. 池化技术基础与核心价值 当你第一次听说"池化"这个词时&#xff0c;可能会联想到游泳池或者资源池。但在深度学习领域&#xff0c;池化(Pooling)是一种非常重要的降维操作&#xff0c;它就像一位精明的数据压缩师&#xff0c;能够在不丢失关键信息的前提下&#x…...

FastAPI项目实战:用APIRouter快速搭建一个带用户和图书管理的小型API服务

FastAPI项目实战&#xff1a;用APIRouter构建用户与图书管理API服务 刚接触FastAPI时&#xff0c;最让我惊艳的不是它的性能&#xff0c;而是那种"开箱即用"的爽快感。上周接手一个需要快速原型验证的项目&#xff0c;从零开始搭建用户和图书管理接口&#xff0c;只…...

**雾计算中的边缘智能:基于Python的轻量级任务调度系统设计与实现**在物联网(IoT)飞速发展

雾计算中的边缘智能&#xff1a;基于Python的轻量级任务调度系统设计与实现 在物联网&#xff08;IoT&#xff09;飞速发展的今天&#xff0c;传统云计算模式已难以满足低延迟、高带宽和实时响应的需求。**雾计算&#xff08;Fog Computing&#xff09;**作为云与终端设备之间的…...

C语言整数字节拆解:联合体与移位操作详解

1. 理解题目&#xff1a;整数字节拆解的核心需求 在嵌入式开发和底层系统编程中&#xff0c;处理多字节数据是家常便饭。就拿这个面试题来说&#xff0c;我们需要从32位无符号整数0x12345678中提取出它的四个独立字节。这看似简单的需求背后&#xff0c;其实涉及到计算机系统中…...

推荐1个大小只有19K的小工具,绝对是GIF转图片神器!

聊一聊之前给大家分享了《视频转GIF》GIF动画在聊天过程中还是很受欢迎的。当然&#xff0c;不光是在聊天中受欢迎。特别是在分享领域&#xff0c;有时候一个方法不好表达&#xff0c;截图有时候也很肥人懂。这个时候GIF就能解决这个难题。GIF体积小&#xff0c;传输快。但有时…...

科技服务机构如何提升服务专业性与客户对接效率?

观点作者&#xff1a;科易网-国家科技成果转化&#xff08;厦门&#xff09;示范基地 在数智时代浪潮下&#xff0c;科技服务机构面临着前所未有的机遇与挑战。数据成为关键资源&#xff0c;重塑了创新主体间的关系&#xff0c;科技成果向产业应用的转化链条发生了根本变革。然…...

实测nanobot:5分钟搭建个人AI助手,还能轻松接入QQ聊天

实测nanobot&#xff1a;5分钟搭建个人AI助手&#xff0c;还能轻松接入QQ聊天 1. nanobot核心优势解析 nanobot作为一款超轻量级个人AI助手解决方案&#xff0c;在技术架构和用户体验上都有显著突破。这个受OpenClaw启发的项目&#xff0c;仅用约4000行代码就实现了完整的智能…...

HRS广濑电机(HIROSE)推出 AU1 系列获电动车行业顶级制造商采用

HRS广濑电机AU1系列获电动车行业顶级制造商采用作为车载USB Type-C标准化的引领者加速推动下一代车辆的设计进程广濑电机(Hirose Electric)的AU1系列成为连接器行业中首个获大型电动车制造商采纳为其车载USB Type-C接口规格的解决方案。借此契机&#xff0c;我司将与该OEM厂商携…...