ZZULIOJ 1121: 电梯

发布时间:2024年01月14日

题目描述

在某一高层建筑内只有一部电梯,当你按下一个数时,电梯会运行到那一层。已知电梯每上升一层需6秒,下降一层需4秒,在需要停留的那层停留5秒。现有N个整数组成的一个需求列表,电梯将依次响应,电梯从0层开始运行,而在运行过程结束之前不会返回0层。
注意,若出现相邻两个整数相等,代表在同一层执行了两个不同任务,可以理解为:电梯已经停了5秒,正要关门时又有人在同一层按开门键,电梯又开门并停留5秒。

输入

输入分两行,第一行是一个正整数N(N<=1000),代表停留几次,第二行的N个数字代表这几次依次停留的楼层。

输出

输出电梯完成该任务序列所需的时间,单独占一行。

样例输入 Copy

3 
2 3 1

样例输出 Copy

41

提示

电梯从0层上升到2层运行时间为12秒,停留5秒,再上升第三层,运行时间6秒,停留5秒,再下降到第一层,运行时间8秒,停留5秒。共41秒。

源代码

#include<stdio.h>
int main()
{
	int n,i,sumtime;
	int a[1000];
	scanf("%d\n",&n);
	scanf("%d",&a[0]);
	sumtime=a[0]*6+5;
	for(i=1;i<n;i++)
	{
		scanf("%d",&a[i]);
		if(a[i]>a[i-1])
		sumtime=(a[i]-a[i-1])*6+5+sumtime;
		else if(a[i]<a[i-1])
		sumtime=(a[i-1]-a[i])*4+5+sumtime;
		else if(a[i]==a[i-1])
		sumtime=sumtime+5;
	}
	printf("%d",sumtime);
	return 0;
}

文章来源:https://blog.csdn.net/m0_62365263/article/details/135577539
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。