电梯升降

来源:互联网 发布:linux怎么移动文件夹 编辑:程序博客网 时间:2024/06/03 00:00

【题目描述】
某城市最高的建筑只有一部电梯。一份电梯升降任务表由N个正整数组成,这些数字表示电梯按照给定的顺序停留的楼层号。
电梯升一层花费6秒钟,降一层花费4秒钟,并且每次停留花费5秒钟。
对于每一份任务表,你要计算出完成全部升降任务所花费的总时间。一开始,电梯在第0层,并且最终完成任务时电梯不必一定返回到0层。
【输入格式】
有多组测试样例。每组测试样例包含一个正整数N,接下来是N个正整数。
在输入中,所有的数字都小于100。当N=0时,表示输入结束。
【输出格式】
对于每一组测试样例,在一行中输出总时间。
【样例输入】
1 2
3 2 3 1
0
【样例输出】
17
41
【分析】
模拟即可。

#include<cstdio>int main(){    int n,a;  while(~scanf("%d",&n) && n){    int sum=0,temp=0;    while(n--){            scanf("%d",&a);      if(temp<a) {sum+=(a-temp)*6+5;temp=a;}      else if (temp>a) {sum+=(temp-a)*4+5;temp=a;}      else {sum+=5;temp=a;}    }    printf("%d\n",sum);  }}
3 0