实现3-16最优时间表问题.cpp
2021-06-01 14:03:19 825B 算法设计与分析
1
Problem G:最优时间表(运行程序c++ 可以顺利通过的) Time Limit:1000MS Memory Limit:65536K Description 一台精密仪器的工作时间为 n 个时间单位, 与仪器工作时间同步进行若干仪器维修程序. 一旦启动维修程序, 仪器必须进入维修程序. 如果只有一个维修程序启动, 则必须进入该维修程序. 如果在同一时刻有多个维修程序, 可任选进入其中的一个维修程序. 维修程序必须从头开始,不能从中间插入. 一个维修程序从第 s 个时间单位开始, 持续 t 个时间单位, 则该维修程序在第 s+t-1 个时间单位结束. 为了提高仪器使用率, 希望安排尽可能少的维修时间. 对于给定的维修程序时间表, 计算最优时间表下的维修时间. Input 输入数据的第 1 行有 2 个小于 10000 的正整数 n 和 k, n 表示仪器的工作时间单位, k 是维修程序数. 接下来的 k 行中, 每行有 2 个表示维修程序的整数 s 和 t, 该维修程序从第 s 个时间单位开始, 持续 t 个时间单位. Output 在一行上输出最少维修时间. Sample Input 15 6 1 2 1 6 4 11 8 5 8 1 11 5 Sample Output 11
1