玩具
时间限制:1秒 内存限制:256M
【题目描述】
小沐把玩具扔在地板上,乱七八糟。庆幸的是,有一种特殊的机器人可以收拾玩具。不过他需要确定哪个机器人去拣哪个玩具。
一共有 \(T\) 个玩具,整数 \(w[i]\) 表示这个玩具的重量,整数 \(s[i]\) 表示这个玩具的体积。机器人有两种,分别是:弱机器人和小机器人。
◆有 \(A\) 个弱机器人。每个弱机器人有一个重量限制 \(X[i]\),它只能拿起重量严格小于 \(X[i]\) 的玩具,与玩具的体积大小没有关系。
◆有 \(B\) 个小机器人。每个小机器人有一个体积限制 \(Y[i]\),它只能拿起体积严格小于 \(Y[i]\) 的玩具,与玩具的重量大小没有关系。
每个机器人用 1 分钟将一个玩具拿走放好。不同的机器人可以同时拿走并放好不同的玩具。
你的任务是确定机器人是否可以将所有玩具都收拾好,如果是,那么最少用多少时间可以收拾好。
【输入格式】
第 1 行,三个正整数:\(T,A,B\)
第 2 行 \(A\) 个整数,表示 \(X[0] x[1]...X[A-1]\)
第 2 行 \(B\) 个整数,表示 \(Y[0] Y[1]...Y[B-1]\)
接下来的 \(T\) 行每行两个整数,表示 \(W[i]\) 和 \(S[i]\)。
【输出格式】
一行一个数,即收拾好所以玩具的最短时间。若不论都不能收拾完则输出 -1。
【输入输出样例1】
Input
10 3 2
6 2 9
4 7
4 6
8 5
2 3
7 9
1 8
5 1
3 3
8 7
7 6
10 5
Output
3
【样例解释】
样例 1 中有A=3个弱机器人,他们的重量限制是X={6,2,9},B=2个小机器人,他们的体积限制是{4,7},有T=10个玩具,具体信息如下:
玩具编号 0 1 2 3 4 5 6 7 8 9
重 量 4 8 2 7 1 5 3 8 7 10
体 积 6 5 3 9 8 1 3 7 6 5
将这些玩具收拾好的最短时间是3分钟,方案如下:
弱机器人0 弱机器人1 弱机器人2 小机器人0 小机器人1
第1分钟 toy0 toy4 toy1 toy6 toy2
第2分钟 toy5 toy3 toy8
第3分钟 toy7 toy9
【输入输出样例2】
Input
3 2 1
2 5
1
3 1
5 3
2 2
Output
-1
【样例解释】
由于没有任何机器人可以拿器并放好重量为5体积为3的玩具,所以不可能将所有的玩具都收拾好。
【数据限制】
对于 \(100\%\) 的数据,\(1≤T≤1,000,000\),\(0≤A,B≤50000 且 1≤A+B\),\(1≤X[i],Y[i],W[i],S[i]≤≤\)
【来源】
Mr.he