這道題比較水,就是兩道if語句判斷當前樓層與到達樓層的關係即可,每層樓需要停留5秒的時間,特別注意的是當要求運行樓層軌跡完成時電梯不會返回0層,所以需要手動將到達樓層賦給當前樓層
#include<iostream>
using namespace std;
int main()
{
int n, sum = 0, now = 0, to;
cin >> n;
for (int i = 0; i < n; ++i)
{
cin >> to;
if (to > now)
{
sum += ((to - now) * 6);//到達樓層數大於當前樓層數,每上一層樓需要6秒
}
else
{
sum += ((now - to) * 4);//到達樓層數小於當前樓層數,每下一層樓需要4秒
}
sum += 5;//注意每層需要停留5秒
now = to;//重點,將到達樓層數賦給當前樓層數以更新當前樓層狀態
}
cout << sum;
return 0;
}
測試結果如下: