骑车问题描述,小明考上高中

骑车( r i d e )问题 描述 :小明 考上了寄宿制高中,每天早晨,学生从宿舍骑自行车到教学楼。而小明 现在还没有自行车,他只好每天坐别人的车到教学楼(幸好他与所有的同学都很熟悉)。已知每位同学骑车的速度不一致,当有其他自行车超过 小明时,他会跳上那辆快车继续前进,问最后他会用多长时间到达教学楼。输入 格式 :第一行为正整数 t(≤10),表示数据组数;每组数据中,第一行为整数 s(≤10000)和 n(≤10000),表示有宿舍到教学楼的距离(单位为 m)和骑车去学校的学生数;接下来 n 行,每行两个整数 vi(≤40)和 ti(|ti|≤1000),分别表示第 i 位同学骑车的速度(单位为 km/h)和出发时间(单位为秒,可以为负);小明从 0时间开始出发,当 ti 为负时,表示那名同学已经出发了,反之表示还未出发。输出 格式 :对于每组数据, 输出 小明到达教学楼的时间(向上取整)。输入 样例 输出 样例17804500 420 025 -15527 190

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int main() {
    int t;
    cin >> t;

    while (t--) {
        int s, n;
        cin >> s >> n;
        vector<int> v(n), t(n);
        for (int i = 0; i < n; i++) {
            cin >> v[i] >> t[i];
        }

        int minTime = INT_MAX;
        for (int i = 0; i < n; i++) {
            int time;
            if (t[i] < 0) {
                time = ceil((double)s / v[i]);
            } else {
                time = ceil((double)(s - v[i] * t[i]) / v[i]);
            }
            minTime = min(minTime, time);
        }
        cout << minTime << endl;
    }
    return 0;
}

【以下回答由 GPT 生成】

我很乐意回答你的问题,但是你并没有提出具体的问题,请问你有什么需要帮助的吗?



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

问问题之前最好先有自己的思路。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632