最新华为OD机试真题-运输时间(200分)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员

✨ 本系列打算持续跟新 华为OD机试-D卷 的三语言AC题解

👏 感谢大家的订阅➕ 和 喜欢💗

📎在线评测链接

=> 运输时间(200分) <=

华为OD

🌍 评测功能需要 =>订阅专栏<= 后联系清隆解锁~

🍓OJ题目截图

alt

⚡️ 运输时间

问题描述

A先生拥有一支由 辆车组成的车队,他需要将这些车开到 公里外的目的地。由于道路只有一条单行线,车辆无法超车。每辆车的出发时间相隔 小时,即第一辆车在 时刻出发,第二辆车在 时刻出发,以此类推。

不同车辆的行驶速度不同。如果一辆较快的车追上了前方的较慢车辆,它只能以前车的速度继续行驶。A先生想知道,最后一辆车到达目的地需要多长时间?

输入格式

第一行包含两个正整数 ,分别表示车辆数量和目的地距离(单位:公里),用空格分隔。

接下来 行,每行包含一个正整数 ,表示该车辆的行驶速度(单位:公里/小时)。

输出格式

输出一个实数,表示最后一辆车到达目的地所需的时间(单位:小时),保留一位小数。

样例输入 1

2 11
3
2

样例输出 1

5.5

数据范围

题解

我们可以模拟整个过程。对于每辆车,计算它到达目的地所需的时间 。如果这辆车是第一辆车,或者它的到达时间 大于前一辆车的到达时间加上 小时(即它没有被拖延),那么它的实际到达时间就是 。否则,它的实际到达时间就是前一辆车的到达时间加上 小时。最后一辆车的实际到达时间就是答案。

参考代码

  • Python
m, n = map(int, input().split())
speeds = []
for _ in range(m):
    speeds.append(int(input()))

res = 0
for i in range(m):
    t = n / speeds[i]
    if i == 0 or t >= res - 1:
        res = t
      else:
        

print(res)
  • Java
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();

        int[] w = new int[n];
        for (int i = 0; i < n; i++) {
            w[i] = sc.nextInt();
        }

        double res = 0;
        for (int i = 0; i < n; i++) {
            double t = (double) m / w[i];
            if (i == 0 || t >= res - 1) {
                res = t;
            } 
         		if(t < res - 1)
              	res -- ;
        }

        System.out.printf("%.1f", res);
    }
}
  • Cpp
#include <iostream>
#include <vector>
#include <iomanip>

using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    vector<int> w(n);
    for (int i = 0; i < n; i++) {
        cin >> w[i];
    }

    double res = 0;
    for (int i = 0; i < n; i++) {
        double t = (double) m / w[i];
        if (i == 0 || t >= res - 1) {
            res = t;
        }
      if(t < res - 1)
        	res -- ;
    }

    cout << res << "\n";
    return 0;
}
#华为##华为OD##春招##秋招##笔试#
最新华为OD机试-C&amp;D卷 文章被收录于专栏

本专栏给大家提供了华为2024最新华为OD-C/D卷的题目汇总和(Java/Cpp/Python)三语言解析 + 提供OJ在线评测

全部评论
🌍 评测功能需要订阅专栏后 ,私信联系清隆解锁~
点赞
送花
回复 分享
发布于 06-28 19:20 浙江

相关推荐

华为工作强度 292人发布 投递华为等公司10个岗位 我的求职思考
点赞 评论 收藏
分享
1 4 评论
分享
牛客网
牛客企业服务