浙江大學ACM俱樂部 1020:電梯升降
阿新 • • 發佈:2019-02-17
題目描述
某城市最高的建築只有一部電梯。一份電梯升降任務表由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; }