7-5 sdut -C语言实验-节约用电

简介: 7-5 sdut -C语言实验-节约用电

7-5 sdut -C语言实验-节约用电


分数 13


全屏浏览


切换布局


作者 马新娟


单位 山东理工大学


山东理工大学计算机学院的9号楼里面有一条超长的走廊,可以看成是一条直线,走廊里一共有n盏电灯,每盏电灯的位置为ai。为了响应国家号召节约用电,学院决定关掉几盏灯,仅维持走廊的基本光照。

具体规则是:如果某盏灯的左右两盏亮着的灯距离不超过m米,就可以把这盏灯关闭,其中头尾两盏灯不允许关闭。

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

题目来源:teacher Liu.

输入格式:

第一行两个整数n,m(2<=n<=100000,1<=m<=1000000),分别表示电灯的盏数和最大距离m。

第二行n个整数,表示每盏灯的位置ai(1<=ai<=1000000)。

输出格式:

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

输入样例:

1. 4 5
2. 3 6 10 1

输出样例:

1


代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB


#include<stdio.h>
int main()
{
 int n,m;
 int i,j,t;
 scanf("%d %d",&n,&m);
 int *a=(int *)malloc(n*sizeof(int));
 for(i=0; i<n;i++)
 {
  scanf("%d",&a[i]);
 }
 for(i=0;i<n-1;i++)
 {
  for(j=0;j<n-1-i;j++)
  {
   if(a[j]>a[j+1])
      {
       t=a[j];
       a[j]=a[j+1];
       a[j+1]=t;
      }
  }
 }
 int last=a[0];
 int ans=0;
 for(i=1;i<n-1;i++)
 {
  if(a[i+1]-last<=m)
  {
   ans++;
  }
  else
  {
   last=a[i];
  }
 }
 printf("%d\n",ans);
 return 0;
}
目录
相关文章
|
6月前
|
Java C语言
C语言实验——输出字符串-java
C语言实验——输出字符串-java
|
存储 算法 C语言
C语言---数据结构实验---哈夫曼树及哈夫曼编码的算法实现---图的基本操作
C语言---数据结构实验---哈夫曼树及哈夫曼编码的算法实现---图的基本操作
|
1月前
|
C语言
大学生期末C语言实验(学生成绩和鞍点)
大学生期末C语言实验(学生成绩和鞍点)
157 0
大学生期末C语言实验(学生成绩和鞍点)
|
4月前
|
Linux C语言
【编程小实验】C语言实现:无限循环写入文本文件,支持Ctrl+C中断与数据追加(附完整源码)
在Linux中,文件I/O(输入/输出)是程序与文件进行交互的基本方式,包括读取文件内容和向文件写入数据。这通常通过标准的C库函数来实现,下面是一些基本的文件读写操作和代码示例。
236 0
|
6月前
|
存储 C语言
C语言实验-动态顺序表实现简易通讯录(二)
在这个C语言实验中,你将实现一个简单的通讯录,它使用动态顺序表来存储联系人信息。
51 2
|
6月前
|
存储 C语言
C语言实验-动态顺序表实现简易通讯录(一)
本文介绍了使用C语言模拟实现通讯录的步骤,包括使用动态顺序表存储联系人信息,每个联系人包含姓名、性别、电话和住址。功能包括新增、查找、删除、修改和查看联系人信息,以及按关键词排序。代码示例展示了如何定义联系人结构体、通讯录顺序表,以及主函数中的菜单选择和输入处理。文章还强调了在读取用户输入时避免出现死循环的问题,并提供了初始化和销毁通讯录的函数,以及如何判断和增加通讯录容量的方法。
79 1
|
6月前
|
存储 大数据 程序员
实验验证C语言中结构体与共用体的差异
实验验证C语言中结构体与共用体的差异
52 0
|
存储 C语言 C++
C语言---数据结构实验---数制转换---表达式求值---回文判断---二叉树创建遍历
C语言---数据结构实验---数制转换---表达式求值---回文判断---二叉树创建遍历
|
人工智能 算法 C语言
C语言实验七 二维数组程序设计
C语言实验七 二维数组程序设计
115 0
|
算法 C语言
C语言---数据结构实验---查找算法的实现---实现给定数组的快速排序
C语言---数据结构实验---查找算法的实现---实现给定数组的快速排序