#T0008. 小L倒垃圾

小L倒垃圾

题目背景

LL 祝大家新年快乐!

题目描述

LL 长大了,他选择了自己最爱的职业:倒垃圾。

一天,小 LL 收到了 nn 个垃圾,要把他们倒进一个桶里。这个桶的体积是 VV,承重能力是 PP。每个垃圾都占 wiw_i 的体积,还有 kik_i 的重量。

LL 突然发现好像不能把垃圾全部倒进去,所以他想知道最多能倒进去几个垃圾。注意,倒入垃圾的总重量不能超过 PP ,否则垃圾桶会裂开。同时小 LL 为了美观,倒入垃圾的体积和不能超过桶的体积(否则溢出来不好看)。

输入格式

输入包括 n+1n+1 行,第一行输入三个整数 nnVVPP ,分别表示垃圾的数量,垃圾桶的体积,垃圾桶的承重能力。接着输入 nn 行,每行两个整数, wiw_ikik_i ,表示第 ii 个垃圾的体积和重量。

输出格式

输出一个整数,表示最多能放进几个垃圾,如果一个也放不下,输出 1-1

样例 #1

6 20 20
4 6
3 8
5 5
7 6
3 9
1 1
4

提示

样例解释

一种办法是倒第 1,2,3,61,2,3,6 四个垃圾,这样总体积是 1313 ,总重量是 2020 ,可以保证,这是一种最优解。

数据范围

SubtaskSubtask 子任务 n<=n<= V,P<=V,P<= 特殊性质 分值
00 11 66 2020 样例样例 00
11 22 100100 AA 2020
22 200200 300300 BB 2525
33 100100
44 10001000 300300 3030

特殊性质 A: A:体积小的垃圾一定在体积大的垃圾之前被倒入。

特殊性质 B: B:重量小的垃圾一定在重量大的垃圾之前被倒入。

对于全部数据,保证 1<=n,wi,ki<=1000,1<=V,P<=3001<=n,w_i,k_i<=1000,1<=V,P<=300。