其他分享
首页 > 其他分享> > 1121: 电梯

1121: 电梯

作者:互联网

题目描述

在某一高层建筑内只有一部电梯,当你按下一个数时,电梯会运行到那一层。已知电梯每上升一层需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 a[1001];
int i, n, sum = 0;//sun为时间之和
a[0] = 0;//电梯从0层开始运行,令初值为0
scanf("%d", &n);
for(i = 1; i <= n; i++)//因为第一位初始化为零,应该循环到n//每到一层会停留
scanf("%d", &a[i]);//遍历
for(i = 0; i < n; i++)
{
if(a[i+1] > a[i])
sum += (a[i+1] - a[i])*6 + 5;
else if(a[i] > a[i+1])
sum += (a[i] - a[i+1])*4 + 5;
else
sum += 5;
}
printf("%d\n", sum);
return 0;

}

标签:一层,int,1121,sum,停留,电梯,运行
来源: https://www.cnblogs.com/DuFeiXue/p/14229122.html