一个,哦不两个函数,直接拿捏
2024-12-30 19:38:55
发布于:上海
82阅读
0回复
0点赞
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
    long long n,c,a[200010];
    cin>>n>>c;
    for(int i=0;i<n;i++)
        cin>>a[i];
    sort(a,a+n);
    long long l=n-1,mid,ans=0;
    while(l>=0){
        long long b=a[l]-c,pos=upper_bound(a,a+n,b)-a,pos1=lower_bound(a,a+n,b)-a;
        ans+=pos-pos1;
        l--;
    }
    cout<<ans;
    return 0;
}
全部评论 2
- 有比这个更简单的嘛  - 2024-12-30 来自 上海 1
- #include <bits/stdc++.h> using namespace std; int main(){ int a,b; cin >> a >> b; int n[1000005]={},m[10000005]={}; for(int i=1;i<=a;i++)cin >> n[i]; for(int i=1;i<=a;i++)m[n[i]]++; int num=0; for(int i=1;i<=a;i++){ num+=m[n[i]-b]; }cout << num; return 0; }- 2025-06-22 来自 浙江 0









有帮助,赞一个