这道题比较水,就是两道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;
}
测试结果如下: