我是靠谱客的博主 开心裙子,最近开发中收集的这篇文章主要介绍Number of Pairs(思维),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在这里插入图片描述
链接:https://codeforces.com/contest/1538/problem/C
大意:查找有多少对ai与aj之和在区间[l,r];
每一个a[i]查找在小于a[i]的范围中有多少个数满足这个条件即可。

#include <bits/stdc++.h>
using namespace std;
/*#define rapido                        
    ios_base::sync_with_stdio(false); 
    cin.tie(NULL);                    
    cout.tie(NULL);
#define endl "n"*/
#define bug(x) cout<<#x<<" == "<<x<<'n'
#define ll long long
const  int MAX_N=1e6;
ll a[MAX_N]={ 0 };
int32_t main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n;
        scanf("%d",&n);
        int l,r;
        scanf("%d %d",&l,&r);
        for(int i=1;i<=n;i++)
        {
            scanf("%lld",&a[i]);
        }
        sort(a+1,a+1+n);
        ll ans=0;
        for(int i=1;i<=n;i++)
        {
            ans+=upper_bound(a+1,a+i,r-a[i])-lower_bound(a+1,a+i,l-a[i]);
        }
        printf("%lldn",ans);
    }
}

最后

以上就是开心裙子为你收集整理的Number of Pairs(思维)的全部内容,希望文章能够帮你解决Number of Pairs(思维)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部