题解 P1296 【奶牛的耳语】

· · 题解

一看这道题就想到了我们的模拟大法(模拟大法好啊)

直接不解释敲完模拟后蜜汁TLE

后来才想到用一个小小的sort剪个枝就过了

下面上代码,有注释哦

#include<bits/stdc++.h>
using namespace std;
int hbr(int a,int b){//从大到小的函数,应该能懂,但是好像不必要
    return a>b;
}
int main(){
    int n,d,ans=0,a[100001];
    cin>>n>>d;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    } 
    sort(a+1,a+1+n,hbr);//从大到小排序,好像也不用加诶
    for(int i=1;i<n;i++){
        for(int j=i+1;j<=n;j++){
            if(abs(a[j]-a[i])<=d)//无聊加了个绝对值,其实应该不用加的
                ans++;
            else
                break;
        }
    }
    cout<<ans;//成功AC!!!
    return 0;
}