题目大致意思:
电梯刚开始位于第0层,每上升一层需要花费6秒,每下降一层需要花费4秒,如果在在某一层需要上人,停靠的时间为5秒,给出一个电梯停靠序列,计算出所需要花费的时间。
大致思路:
可以用一个vector数组来接收电梯停靠的序列,在对数组遍历的过程中,进行计算即可。
提交结果如下:
提交代码如下:
#include<iostream>
#include<vector>
#include<cstdio>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
vector<int> arr(n+1);
arr[0]=0;
for(int i=1;i<n+1;i++)
{
scanf("%d",&arr[i]);
}
int sum=0;
for(int i=1;i<n+1;i++)
{
if(arr[i]-arr[i-1]>0)
{
sum=sum+(arr[i]-arr[i-1])*6;
}
else
sum=sum-(arr[i]-arr[i-1])*4;
}
sum=sum+n*5;
cout<<sum<<endl;
}
本次提交后累计得分为804。