swadmin 2022-01-22 11:12 采纳率: 90%
浏览 81
已结题

c++/c/java/php/python/pascal/c#/go/

题目描述
Star为了参加编程选拔考试已经做好了非常充分的准备,但是他有个最重要的毛病就是他十分的粗心,为了能在考试中不犯低级错误,拿到比较好的成绩,star决定做件好事来增加他的rp。做什么好事呢?star想到了常州好多道路刚修好,路边的绿化还没有好,于是star 决定为一条刚修好的马路两旁种上树木。当然这一定是star亲自抄手(挖坑,种树,浇水……工程量好大,为了rp,star豁出去了,再累再苦也干),道路每隔5米种一棵树,正常情况下star种一棵树需要16分钟(这么快,因为我们的star身强力壮)但是由于有部分位置的土壤质地不一样,所以star种树的时间有时会和正常情况不一样,质地软的就种得快,质地硬的就种得慢,当然不一样的土壤是预先知道的,所以star 想统计他种完一条路上的树需要多少时间。
输入
第1行:两个整数m 和 n,m表示道路有m米,(m保证是5的倍数),n表示有n段不同质地的土壤;m<=100,n<=100; 第2..n+1行:每行3个整数i,j,k表示从第i米开始到j米结束这段道路的质地是一样的,(i<=j)在这些地上每种树需要耗费k分钟时间,道路起始位置为0,起始位置当然也是要植树的。
输出
一行:一个整数(保证在longint范围),star 种完一条道路上的树需要的总时间。(注意道路的两边都要植树)
样例
输入 复制
15 3
0 10 15
11 12 10
13 15 20
输出 复制
130
提示
样例说明: 一共需要植8棵树,一边四棵。分别种在0 5 10 15 号位置共需要(15+15+15+20)*2=130分钟

  • 写回答

1条回答 默认 最新

  • _GX_ 2022-01-22 17:02
    关注
    #include <iostream>
    #include <vector>
    
    int main()
    {
        int m, n;
        std::cin >> m >> n;
        std::vector<int> time(m / 5 + 1, 16);
        for (int s = 0; s < n; s++)
        {
            int i, j, k;
            std::cin >> i >> j >> k;
            int a = i / 5 * 5;
            int b = j / 5 * 5;
            for (int t = a; t <= b; t += 5)
                if (t >= i && t <= j && t <= m)
                    time[t / 5] = k;
        }
        int total = 0;
        for (int t : time)
            total += t;
        std::cout << total * 2;
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月31日
  • 已采纳回答 1月23日
  • 创建了问题 1月22日

悬赏问题

  • ¥15 MATLAB动图的问题
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名