上海市计算机学会竞赛平台 | YACS 第三届上海市青少年算法竞赛中学组线上同步赛
在一次算法比赛中,有 n个程序提交到了竞赛平台上,测试每个程序需要两步:先编译,然后运行。
竞赛平台有两台服务器,一台只负责编译,另一台只负责运行,编译第 i 个程序的时间为 ai,运行第i 个程序的时间为 bi 。服务器必须按照提交顺序来处理任务,也就是说一定要先先处理第一个程序,最后处理第 n 个程序。每台服务器在同一时刻只能处理一个任务。
请问平台需要多少时间才能测试完所有的程序?
3
10 5
20 30
5 50 输出110
我一开始想的是上图那样一段一段加起来,比较a、b大小然后再加起来。不过很复杂,编程起来很烦
后来我就意识到,最后的时间,实际上是由编译,运行时间中的最大值来决定的。
编译 | 运行 | 累加a | 累加b | 完成一个耗时 |
1 | 1 | 1 |