0分求助!
查看原帖
0分求助!
685009
joshua_song楼主2022/3/4 23:04

0分求助!

#include<bits/stdc++.h>
using namespace std;
int m,t,n,i,l,r,mid,w,q,a[200000001];
int main()
{
	cin>>n>>m;
    for(i=1;i<=n;i++)cin>>a[i];
    for(i=1;i<=n;i++)
    {
        l=i+1;r=n;
        while(l<=r)
        {
            mid=(l+r)/2;
            if(a[i]+m<=a[mid])
              r=mid-1;
            else
              l=mid+1;
        }
        w=l;
        l=i+1;r=n;
        while(l<=r)
        {
            mid=(l+r)/2;
            if(a[i]+m<a[mid])
              r=mid-1;
            else
              l=mid+1;
        }
        q=l;
        t+=q-w;
    }
	cout<<t<<endl;
    return 0;
}
2022/3/4 23:04
加载中...