PAT 甲级 1008 Elevator (20)(20 分)模拟水题

题目翻译:

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;
}


    
原文地址:https://www.cnblogs.com/caiyishuai/p/13270948.html