1008 Elevator (20分)
题目链接:PAT A 1008
思路分析:就是统计电梯运行时间,注意满足请求后是不需要返回一楼的。目标楼层比当前楼层高就是楼层差值乘以6,比当前楼层低就是楼层差值乘以四,最后加上电梯在每层的停留时间就可以了~
AC代码:
#include<iostream>
using namespace std;
int main() {
int n, temp, begin = 0, sum = 0;
cin >> n;
for(int i = 0; i < n; i++) {
cin >> temp;
if(temp > begin) { //当前楼层低于目标楼层
sum += (temp - begin) * 6; //差值乘以六
begin = temp; //更新当前楼层
}
else if(temp < begin) { //当前楼层高于目标楼层
sum += (begin - temp) * 4; //差值乘以四
begin = temp; //更新当前楼层
}
}
sum += 5 * n; //加上在每层的等待时间
cout << sum;
return 0;
}