题目大致意思: 电梯刚开始位于第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。
转载请注明原文地址: https://lol.8miu.com/read-31835.html