1121: 电梯

1121: 电梯
时间限制: 1 Sec 内存限制: 128 MB
提交: 6764 解决: 4685
[状态] [讨论版] [提交] [命题人:admin]
题目描述
在某一高层建筑内只有一部电梯,当你按下一个数时,电梯会运行到那一层。已知电梯每上升一层需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 Time(int n)
{
	int i,num;
	int time=0,h=0;
	for(i=1;i<=n;i++)
	{
		scanf("%d",&num);
		if(num>h)
		{
			time=time+(num-h)*6+5;
			h=num;
		}
		else if(num==h)
		{
			time=time+5;
		}
		else
		{
			time=time+(h-num)*4+5;
			h=num;
		}
	}
	return(time);
}
int main()
{
	int Time(int n);
	int n;
	scanf("%d",&n);
	printf("%d\n",Time(n));
	return 0;
}


发布了48 篇原创文章 · 获赞 0 · 访问量 449

猜你喜欢

转载自blog.csdn.net/YGGZZZ/article/details/104782755