题目名称 2231. [HDOJ 4864]任务
输入输出 hdoj_task.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2017-05-25加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:2, 提交:2, 通过率:100%
GravatardarkMoon 100 0.094 s 0.88 MiB C++
Gravatar冷月星云 100 0.113 s 1.45 MiB C++
关于 任务 的近10条评论(全部评论)

2231. [HDOJ 4864]任务

★★★   输入文件:hdoj_task.in   输出文件:hdoj_task.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

今天某公司有 M 个任务需要完成。每个任务都有相应的难度级别和完成任务所需时间。第 i 个任务的难度级别为 yi,完成任务所需时间为 xi 分钟。如果公司完成此任务,他们将获得(500×xi+2×yi)美元收入。

该公司有 N 台机器,每台机器都有最长工作时间和级别。如果任务所需时间超过机器的最长工作时间,则机器无法完成此任务。如果任务难度级别超过机器的级别,则机器无法完成次任务。每台机器一天内只能完成一项任务。每个任务只能由一台机器完成。

请为他们设计一个任务分配方案,使得该公司能够最大化他们今天可以完成的任务数量。

如果有多种解决方案,他们希望选取赚取利润最高的那种。

【输入格式】

输入包含几个测试用例。

对于每个测试用例,第一行包含两个整数 N 和 M,分别代表机器数量和任务数量。

接下来 N 行,每行包含两个整数 xi,yi,分别代表机器最长工作时间和机器级别。

再接下来 M 行,每行包含两个整数 xi,yi,分别代表完成任务所需时间和任务难度级别。

【输出格式】

对于每个测试用例,输出两个整数,代表公司今天可以完成的最大任务数以及他们将获得的收入。

【样例输入】

1 2
100 3
100 2
100 1

【样例输出】

1 50004

【数据规模与约定】

$1\leq N,M\leq 100000,0<xi<1440,0<yi\leq 100$。