对于电梯这个题目我也纠结了很久,最开始没有看清题,以为没上一层楼就要停五秒,输入的第一个正数N,表示后接几个测试数据,我最开始一起所以的数都是测试的数据,
Problem : 1008 ( Elevator )
题目:
在我们的城市中最高的建筑物已只有一部电梯。请求列表是用 N 正数。数字表示在哪个楼层电梯将停止,按指定的顺序。它的成本移动电梯上楼,6 秒和 4 秒下移一层楼。电梯将呆在每一站的 5 秒。
为给定的请求的列表中,你是要计算总花费时间来完成请求列表中的。电梯是在开始的 0th 地板上和不需要返回到地面地板时要求得到满足。
输入:
有
多个
测试
用
例
。
每个
案例
都
包含
一个
正整数
N,
其次
是
N
正数
。
在
输入
中
的
所有
数据
都
都
小于
100
。
测试
用例
与
N
=
0
表示
输入
结束
。
这个
测试
用例
并
不
是
被
处理
。
输出:
打印
每个
测试
用例
在
单行
上
的
总
时间
#include<iostream> using namespace std; int main() { int n; while(cin>>n) { int a[101],i,j,sum=0,b; if(n==0) break; else cin>>b;//输入第一个测试数据,都是从零层开始 sum+=b*6+5; for(i=1;i<n;i++)//只有在输入n-1个数据 { cin>>a[i]; if(b<a[i]) sum+=(a[i]-b)*6+5; if(b>=a[i]) sum+=(b-a[i])*4+5;//有可能会停在同一层楼,所以一定要等于 b=a[i]; } cout<<sum<<endl; } return 0; }