[计蒜客][贪心]节约用电 原创
题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛)
算法标签 贪心
题目描述

思路
事实上就是一维的线上从左到右标记所有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;
}

浙公网安备 33010602011771号