为啥过不了
查看原帖
为啥过不了
513194
woshishaobei楼主2022/5/14 09:30
#include<bits/stdc++.h>
using namespace std;
int c,ans,n,mid,q;
int a[5000000];
int main()
{
    cin>>n;
    cin>>c;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    for(int i=1;i<=n;i++)
    {
        int l=i+1;
        int r=n;
        while(l<=r)
        {
            mid=(l+r)/2;
            if(a[i]+c<=a[mid])
              r=mid-1;
            else
              l=mid+1;
        }
        int p=l;
        l=i+1;r=n;
        while(l<=r)
        {
            mid=(l+r)/2;
            if(a[i]+c<a[mid])
              r=mid-1;
            else
              l=mid+1;
        }
        q=l;
        ans+=q-p;
    }
    cout<<ans<<endl;
    
    return 0;
}//本地过了,洛谷0分,望大佬帮忙看看。
2022/5/14 09:30
加载中...