A-B 数对
创始人
2024-03-20 06:16:28

#include
using namespace std;
typedef long long ll;
const int N = 2e5 + 10;
ll a[N];
int main() {
    ll n, c, ans = 0;
    cin >> n >> c;
    for (int i = 1; i <= n; i++)
        cin >> a[i];
        sort(a+1,a+1+n);//排序,使其成单调上升的形式
    ll l = 1, r1 = 1, r2 = 1;//l用来遍历数组中的数,r1,r2来找满足条件的区间
    for (; l <= n; l++) {
        while (r1 <= n && a[r1] - a[l] <= c)
            r1++;
        while (r2 <= n && a[r2] - a[l] < c)
            r2++;
        if (a[r2] - a[l] == c && a[r1 - 1] - a[l] == c && r1 - 1 >= 1)
            ans += r1 - r2;
    }
    cout << ans << endl;
    return 0;
}

相关内容

热门资讯

突... 2023-12-18 00:47·那些段子
初... 转载前言:网玩君分享的不少软件都来自这个牛气的GitHub,今天忍不住转发下文,虽然目前GitHub...
C... 点击蓝字关注,关注后回复2000免费送你价值万元的2000本Kindle电子「博士星球」10大板块,...
过... 点击蓝字 关注公众号:普通人生活请将我们设为星标就不会错过每日推文啦!大家好呀今天给大家带来的软件是...
文... 文华财经指标公式博易大师软件指标公式期货多空趋势指标源码风险提示:本指标公式仅作为知识分享,不构成任...