PAT (Advanced Level) Practice 1008 Elevator (20 分) 凌宸1642

题目描述:

The highest building in our city has only one elevator. A request list is made up with N positive numbers. The numbers denote at which floors the elevator will stop, in specified order. It costs 6 seconds to move the elevator up one floor, and 4 seconds to move down one floor. The elevator will stay for 5 seconds at each stop.

For a given request list, you are to compute the total time spent to fulfill the requests on the list. The elevator is on the 0th floor at the beginning and does not have to return to the ground floor when the requests are fulfilled.

译:我们城市最高的建筑只有一部电梯。一个请求列表由 N 个正整数组成。这些数字表示电梯将会在哪些指定楼层停靠。电梯上升一层花费 6 秒 的时间,电梯下降一层花费 4 秒的时间。电梯每次停靠会停留 5 秒的时间


Input Specification (输入说明):

Each input file contains one test case. Each case contains a positive integer N, followed by N positive numbers. All the numbers in the input are less than 100.

译:每个输入文件包含一个测试用例,每个用例包含一个整数 N , 紧跟着后面的是 N 个正整数。输入所有的数字都小于 100.


Output Specification (输出说明):

For each test case, print the total time on a single line.

译:对于每个测试用例,在一行中输出耗费时间的总和。


Sample Input (样例输入):

3 2 3 1

Sample Output (样例输出):

41

The Idea:

首先,有 N 个数据意味着需要停留 N 次,所以可以直接算出停留的时间就是 N * 5 , 然后再遍历列表中的所有数,如果是上升,结果就加上 楼层差乘以 6 秒,如果是下降,结果就加上 楼层差乘以 4 秒, 遍历结束,得到的总和就是答案。


The Codes:

#include<bits/stdc++.h>
using namespace std ;
#define MAX 110
int ele[MAX] = { 0 } ;
int main(){
int n , sum , t ;
scanf("%d" , &n) ;
sum = n * 5 ; // 所有的停靠时间
for(int i = 1 ; i <= n ; i ++) scanf("%d" , &ele[i]) ;
for(int i = 1 ; i <= n ; i ++){
if(ele[i] > ele[i - 1]) sum += (ele[i] - ele[i - 1]) * 6 ; // 加上上升的时间
else sum += (ele[i - 1] - ele[i]) * 4 ; // 加上下降的时间
}
printf("%d\n" , sum) ;
return 0 ;
}

PAT (Advanced Level) Practice 1008 Elevator (20 分) 凌宸1642的更多相关文章

  1. PAT (Advanced Level) Practice 1035 Password (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1035 Password (20 分) 凌宸1642 题目描述: To prepare for PAT, the judge someti ...

  2. PAT (Advanced Level) Practice 1008 Elevator (20 分) (模拟)

    The highest building in our city has only one elevator. A request list is made up with N positive nu ...

  3. PAT (Advanced Level) Practice 1035 Password (20 分)

    To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem ...

  4. 【PAT Advanced Level】1008. Elevator (20)

    没什么难的,简单模拟题 #include <iostream> using namespace std; int main() { int num; cin>>num; int ...

  5. PAT (Advanced Level) Practice 1046 Shortest Distance (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1046 Shortest Distance (20 分) 凌宸1642 题目描述: The task is really simple: ...

  6. PAT (Advanced Level) Practice 1042 Shuffling Machine (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1042 Shuffling Machine (20 分) 凌宸1642 题目描述: Shuffling is a procedure us ...

  7. PAT (Advanced Level) Practice 1041 Be Unique (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1041 Be Unique (20 分) 凌宸1642 题目描述: Being unique is so important to peo ...

  8. PAT (Advanced Level) Practice 1031 Hello World for U (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1031 Hello World for U (20 分) 凌宸1642 题目描述: Given any string of N (≥5) ...

  9. PAT (Advanced Level) Practice 1027 Colors in Mars (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1027 Colors in Mars (20 分) 凌宸1642 题目描述: People in Mars represent the c ...

随机推荐

  1. Publish/Subscribe Pattern & Vanilla JavaScript

    Publish/Subscribe Pattern & Vanilla JavaScript https://en.wikipedia.org/wiki/Publish–subscribe_p ...

  2. Web Performance API

    Web Performance API 性能监测/性能优化 https://developer.mozilla.org/en-US/docs/Web/API/Performance https://d ...

  3. Top 10 JavaScript errors

    Top 10 JavaScript errors javascript errors https://rollbar.com/blog/tags/top-errors https://rollbar. ...

  4. Open API collection

    Open API collection online API https://developer.github.com/v3/ https://developer.github.com/v4 http ...

  5. iPad pro & Mac mini

    iPad pro & Mac mini

  6. mbatis中的#{}和${}

    #{}和${}的区别是什么?a.#{}是预编译处理,${}是字符串替换. b.Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 set ...

  7. nginx日志文件切分

    定义cut_nginx_log.sh 日志文件脚本如下 #!/bin/bash#LOGS_PATH为日志存放路径LOGS_PATH=/weblog/nginx/logsYESTERDAY=$(date ...

  8. Java基本概念:方法

    一.简介 描述: Java中方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合,它在类中定义,属于类的成员,包含于类或对象中. 方法在程序中被创建后,在其他使用了该方法的地 ...

  9. 华硕主板开机无法进入BIOS

    先说下本人情况,自己组装的台式机,华硕TUF B550M-Plus (wifi)的主板,CPU是锐龙 4650G(带核显),其他配件不涉及问题就不提了. 原来用独显的时候,没啥问题,开机有品牌logo ...

  10. 100道Java高频面试题(阿里面试官整理)

    我分享文章的时候,有个读者回复说他去年就关注了我的微信公众号,打算看完我的所有文章,然后去面试,结果我后来很长时间不更新了...所以为了弥补一直等我的娃儿们,给大家的金三银四准备了100道花时间准备的 ...