程序设计 -- 节约用电

该博客探讨了一个程序设计问题,旨在节约用电。在一条直线上有n盏电灯,当相邻亮灯间的距离不超过m时,可以关闭某盏灯。任务是计算最多能关闭多少盏灯,同时头尾两盏灯不能关闭。输入包含电灯数量n和最大距离m,以及每盏灯的位置。给定的输入样例中,走廊有4盏灯,最大距离为5,位置分别为3、6、10、1,输出样例显示最多可以关闭1盏灯。
摘要由CSDN通过智能技术生成

题目描述

学校里有一条超长的走廊,可以看成是一条直线。走廊里一共有n 盏电灯,每盏电灯的位置为 a_i。为了响应国家的号召节约用电,校长决定关掉几盏电灯,仅维持走廊的基本光照。具体规则是,如果某盏灯的左右两盏亮着的灯距离不超过m,就可以把这盏灯关闭。其中头尾两盏灯不允许关闭。

现在请你计算最多能关掉多少盏灯。

输入格式

第一行两个整数 n,m(2≤n≤105,1≤m≤106),分别表示电灯的盏数和最大距离 mm。

第二行 n 个整数,表示每盏灯的位置ai​ (1≤ai​≤106)。

输出格式

一个整数,表示最多关掉电灯的数量。

输入样例

4 5
3 6 10 1

输出样例

1

#include <iostream>
#include <algorithm>
using namespace std;
int light[1000001];
int main(){
    int n,m,sum=0,l=1,g=3;
    cin>>n>>m;
    for(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值