题目翻译:
1008.电梯
在我们的城市里,最高的建筑物里只有一部电梯。有一份由N个正数组成的请求列表。这些数表示电梯将会以规定的顺序在哪些楼层停下。电梯升高一层需要6秒,下降一层需要4秒。每次停下电梯将花费5秒。
给你一个请求列表,你需要计算出完成列表里的请求总共花费的时间。一开始电梯在0层。当请求全部完成时,电梯不需要回到底层。
输入说明:
每个输入文件包含一个测试实例。每个实例包含一个正整数N,后面跟着N个数字。所有输入的数字小于100。
输出说明:
对于每个测试实例,在一行中输出总时间。
#include<iostream> #include<cstring> #include<string> #include<algorithm> #include<cmath> #include<queue> #include<map> #include<vector> #include<stack> #define inf 0x3f3f3f3f using namespace std; int main() { int n; int a[105]; while(cin>>n) { for(int i=1;i<=n;i++) { cin>>a[i]; } int s=0; a[0]=0; for(int i=1;i<=n;i++) { if(a[i]-a[i-1]>=0) s+=(a[i]-a[i-1])*6; else s+=(a[i]-a[i-1])*(-4); } s+=n*5; cout<<s<<endl; } return 0; }