A1831 | software
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每个软件划分成 $m$ 个模块,由公司里的技术人员分工完成,每个技术人员完成同一软件的不同模块的所用的天数是相同的,并且是已知的,但完成不同软件的一个模块的时间是不同的,每个技术人员在同一时刻只能做一个模块,一个模块只能由一个人独立完成而不能由多人协同完成。一个技术人员在整个开发期内完成一个模块以后可以接着做任一软件的任一模块。写一个程序,求出公司最早能在什么时候交付软件。
输入格式
输入文件第一行包含两个由空格隔开的整数 $n$ 和 $m$,其中 $1 \le n \le 100$,$1 \le m \le 100$,接下来的 $n$ 行每行包含两个用空格隔开的整数 $d_1$ 和 $d_2$,$d_1$ 表示该技术人员完成第一个软件中的一个模块所需的天数,$d_2$ 表示该技术人员完成第二个软件中的一个模块所需的天数,其中 $1 \le d_1,d_2 \le 100$。
输出格式
输出文件仅有一行包含一个整数 $d$,表示公司最早能于 $d$ 天后交付软件。
输入输出样例
输入 #1
3 20 1 1 2 4 1 6
输出 #1
18
### 样例解释
最快的方案是第一个技术人员完成第二个软件的 $18$ 个模块,用时 $18$ 天,第三个技术人员完成第一个软件的 $18$ 个模块,用时 $18$ 天,其余的模块由第二个技术人员完成,用时 $12$ 天,做完所有模块需要 $18$ 天。如果第一个技术人员完成第二个软件的 $17$ 个模块,第三个技术人员完成第一个软件的 $17$ 个模块,其余的模块由第二个技术人员完成,需要用时 $18$ 天,做完所有模块仍然需要 $18$ 天,所以少于 $18$ 天不可能做完所有模块。
最快的方案是第一个技术人员完成第二个软件的 $18$ 个模块,用时 $18$ 天,第三个技术人员完成第一个软件的 $18$ 个模块,用时 $18$ 天,其余的模块由第二个技术人员完成,用时 $12$ 天,做完所有模块需要 $18$ 天。如果第一个技术人员完成第二个软件的 $17$ 个模块,第三个技术人员完成第一个软件的 $17$ 个模块,其余的模块由第二个技术人员完成,需要用时 $18$ 天,做完所有模块仍然需要 $18$ 天,所以少于 $18$ 天不可能做完所有模块。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?