1006 elevator reach time

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;

    }

}

你可能感兴趣的:(1006 elevator reach time)