1020:电梯升降

来源:互联网 发布:windows.old怎么还原 编辑:程序博客网 时间:2024/04/29 03:20

1020:电梯升降分数: 10

时间限制:1 秒
内存限制:32 兆
特殊判题: 否
提交:61
解决: 32

标签

  • 简单模拟

题目描述

某城市最高的建筑只有一部电梯。一份电梯升降任务表由N个正整数组成,这些数字表示电梯按照给定的顺序停留的楼层号。
电梯升一层花费6秒钟,降一层花费4秒钟,并且每次停留花费5秒钟。
对于每一份任务表,你要计算出完成全部升降任务所花费的总时间。一开始,电梯在第0层,并且最终完成任务时电梯不必一定返回到0层。

输入格式

有多组测试样例。每组测试样例包含一个正整数N,接下来是N个正整数。
在输入中,所有的数字都小于100。当N=0时,表示输入结束。

输出

对于每一组测试样例,在一行中输出总时间。

样例输入

1 2
3 2 3 1
0

样例输出

17
41



#include<stdio.h>int main(){int N,i,n,sum=0,p;int a[100]={0};while(scanf("%d",&N)!=EOF&&N){//这个两者可以等价!,N相当于当N==0时,也break! //if(N==0)//break;for(i=1;i<=N;i++){scanf("%d",&a[i]);}for(i=0;i<N;i++){if(a[i]<a[i+1])sum+=(a[i+1]-a[i])*6;else if(a[i]>a[i+1])sum+=(a[i]-a[i+1])*4;}sum=sum+5*N; //一开始没考虑到若一直是某一层,那么等待时间仍然是要的 printf("%d\n",sum);sum=0;}}


0 0
原创粉丝点击