1. 程式人生 > >浙江大學ACM俱樂部 1020:電梯升降

浙江大學ACM俱樂部 1020:電梯升降

題目描述

某城市最高的建築只有一部電梯。一份電梯升降任務表由N個正整陣列成,這些數字表示電梯按照給定的順序停留的樓層號。
電梯升一層花費6秒鐘,降一層花費4秒鐘,並且每次停留花費5秒鐘。
對於每一份任務表,你要計算出完成全部升降任務所花費的總時間。一開始,電梯在第0層,並且最終完成任務時電梯不必一定返回到0層。

輸入格式

有多組測試樣例。每組測試樣例包含一個正整數N,接下來是N個正整數。
在輸入中,所有的數字都小於100。當N=0時,表示輸入結束。

輸出

對於每一組測試樣例,在一行中輸出總時間。

樣例輸入

1 2
3 2 3 1
0

樣例輸出

17
41

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;

int main()
{
	int n;
	while(cin>>n &&n)
	{
		int a[100];
		for(int i=0;i<n;++i)
			cin>>a[i];
		int floor=0;
		int sum=0;
		for(int j=0;j<n;++j)
	    	{
	    	if(a[j]>floor)
	    		sum+=(a[j]-floor)*6; 
	    	else
	    		sum+=(floor-a[j])*4;
	    	floor=a[j];
	    	}
	    sum+=n*5;
	    cout<<sum<<endl;

	}
	return 0;
}