奶牛的耳语(蓝桥训练)

题目链接

https://www.luogu.com.cn/problem/P1296?contestId=34234
(来自洛谷)

解题思路

洛谷数据一直十分的水,本题也是。直接暴力也可以解出,但是蓝桥必然不会出现水题,因此要学会优质算法。
用STL库中的upper_bound函数。核心代码不过就是函数那句。

AC代码

#include<bits/stdc++.h>
#define ll long long 
using namespace std;
const int N=1e6+5;
int n,d;
int a[N];
int main(){
    cin>>n>>d;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    sort(a+1,a+n+1);

    ll ans=0;
    for(int i=1;i<n;i++){
        int tmp=upper_bound(a+i+1,a+n+1,a[i]+d)-a-i-1;//在i牛之后,有多少牛可以与之交流
    //    cout<<tmp<<endl;//检验一下
        ans+=tmp;
    }
    cout<<ans;
}
全部评论

相关推荐

小浪_Coding:1. 项目,纯测试的项目不要往简历上写, 外卖项目需要包装一下,加点自己的产出,和测试关联的 2. 个人技能写的浅且不全, 需要展开细写, 同时需要补充额外的技术栈. 3. 项目可以换i自动化/CI CD的项目, 整体排版需要优化.
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务