题目大致意思:
电梯刚开始位于第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;}elsesum=sum-(arr[i]-arr[i-1])*4;}sum=sum+n*5;cout<<sum<<endl;
}
本次提交后累计得分为804。