题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1008
解析:
题目的意思相对比较简单,
电梯上一层需要6秒,下一层需要4秒,每次电梯停靠5秒
初始的时候,电梯在0层,结束后不需要回到0层。
样例:
Sample Input
1 2 3 2 3 1 0
Sample Output
17 41
我们从样例可以看出来
第一个:(2-0)*6+5 = 17
第二个:(3-2)*4+5+(3-2)*6+5+(3-1)*6+5 = 41
我个人理解为在最后一层也得停留5秒吧~
代码:
#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;
int main(){
int N;
while(cin >> N&&N){
int i;
int *a = new int[N+1];
a[0] = 0;
for(i=1; i<=N; ++i)
cin >> a[i];
int cost = 0;
for(i=1; i<=N; ++i){
if(a[i]>a[i-1])
cost += (a[i]-a[i-1])*6;
else
cost += (a[i-1]-a[i])*4;
cost += 5;
}
cout << cost << endl;
}
return 0;
}