[计蒜客][贪心]节约用电 原创

题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛)

算法标签 贪心

题目描述

在这里插入图片描述

思路

事实上就是一维的线上从左到右标记所有M距离的点,相当于用距离为依据划分成N个等分,中间的数量就是答案的数量


样例一:
3 6 10 1 
排序:
1 3 6 10
减去头尾
 3 6
 判定 6-3<5 关掉
ans =1; 

AC代码

#include<iostream>
#include<algorithm>

using namespace std;

const int N=1e5+10;
int a[N];

int main()
{
    int n,m;
    cin>>n>>m;
    
    for(int i=0;i<n;i++)cin>>a[i];
    
    sort(a,a+n);
    
    int last=a[0];
    int ans=0;
    for(int i=1;i<n-1;i++)
        if(a[i+1]-last<=m) ans++;
        else last=a[i];
    
    cout<<ans;
    
    return 0;
}
posted @ 2022-03-28 17:47  俺叫西西弗斯  阅读(0)  评论(0)    收藏  举报  来源