仲恺ACM 1020:电梯升降【java】

package acm;
import java.util.Scanner;
public class 电梯升降 {
	public static void main(String args[]){
		Scanner input = new Scanner(System.in);
		while(input.hasNext()){
			int a = input.nextInt();
			if(a == 0) break;
			int d = 0;
			int sum = 0;
			if(a != 0 && a < 100){
				for(int c = 0;c < a;c ++){								
				int b = input.nextInt();
				if(b >= d)
					sum = sum + (b - d)*6 + 5;//电梯上升
				if(b < d)
					sum = sum + (d - b)*4 + 5;//电梯下降
				d = b;//把b赋给d,与下一个数比较,如此循环
				}
				System.out.println(sum);
			}
			
		}
	}
}

题目描述

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

输入格式

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

输出

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

样例输入

1 2
3 2 3 1
0

样例输出

17
41

没有更多推荐了,返回首页