时间限制:2000 / 1000ms(Java /其他)内存限制:65536 / 32768K(Java /其他)
提交总数:63接受提交:31
问题描述
我们城市最高的建筑物只有一部电梯。请求列表由N个正数组成。数字按指定顺序表示电梯将停在的楼层。将电梯上移一层需要6秒钟,而将一层下移则需要4秒钟。电梯将在每个站点停留5秒钟。
对于给定的请求列表,您将计算完成列表上的请求所花费的总时间。电梯在开始时位于0楼,并且在满足请求后不必返回一楼。
输入值
有多个测试用例。每个案例包含一个正整数N,后跟N个正数。输入中的所有数字均小于100。N = 0的测试用例表示输入结束。该测试用例将不被处理。
输出量
将每个测试用例的总时间打印在一行上。
样本输入
1 2
3 2 3 1
0
样本输出
17
41
作者
郑建强
资源
浙江省计算机控制学会2004
#include<stdio.h>
#include<string.h>
#include<math.h>
int main(){
int n,m; //输入
int bl1; //for循环变量
int lc=0; //楼层
int ys=0; //用时
for(;scanf("%d",&n)&&n!=0;){
lc=0;ys=0; //归零
for(bl1=0;bl1<n;bl1++){ //循环样例个数
scanf("%d",&m);
for(;lc!=m;){ //循环楼层改变次数
if(lc>m){
lc--;
ys+=4;
}else if(lc<m){
lc++;
ys+=6;
}
}
ys+=5; //加楼层停留时间
}
printf("%d\n",ys);
}
return 0;
}