1006 Problem G
问题概述:电梯从0层开始,求它在到达最后一层时所花费的时间。
思路:电梯在上升和下降的过程中,所耗费的时间不同,所以要分开来计算,而此题的关键,就是要比较当前电梯要到达的楼层与之前电梯所在楼层的关系,理清这一点,至关重要。
感想:在写代码中,最初由于一直没有找到合适的方式,来表示电梯到达指定楼层所花费的时间,因此总是编译出错,当然最重的,还是要明确,电梯到达的第一个楼层之间的关系。
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
int main(){
int n,i;
int a[101];
while(cin>>n&&n!=0){
intsum=0,k=0;
for(i=0;i<n;i++) cin>>a[i];
sum=a[0]*6+5;
for(i=1;i<n;i++){
if(a[i]>=a[i-1]){
sum+=(a[i]-a[i-1])*6+5;
}
else
sum+=(a[i-1]-a[i])*4+5;
}
cout<<sum<<endl;
}
}