问题 6745 --旅游

6745: 旅游

时间限制: 1 Sec  内存限制: 128 MB
提交: 30  解决: 7
[提交][状态][命题人:]

题目描述

 小明对自己的期末考试成绩非常满意,所以他决定出去旅游放松一下。他有很多想去的地方,每个地方对他都有一个吸引度,但是他预算有限,每一个地方都会给他带来一定的花销,所以他不一定能去所有他想去的地方。所以他想请你写个程序帮忙计算一下,他能去几个地方玩,这些地方带给他的吸引度之和是多少。

小明的旅游策略:小明不会去相同的地方两次及以上。在每次选择去哪里玩时,他会在他能去的地方中选择“性价比”(吸引度/花销)最高的地方。如果有多个地方性价比相同,他会选择去花销最小的地方。在每个地方游玩之后,小明会进行下一次的选择,直到他的预算不支持他去剩下任何一个地方。

输入

第一行两个整数n,m,表示小明想去的地方有n个,他的预算是m

第二行n个整数a[i],表示第i个地方给小明的吸引度为a[i]

第三行n个整数b[i],表示第i个地方的花销是b[i]

输出

一行两个整数,用一个空格隔开。第一个整数表示小明按照这个旅游策略他能游玩几个地方,第二个整数表示这些地方带给他的吸引度之和是多少。

样例输入
Copy
5 10
1 2 3 4 5
3 3 5 4 3
样例输出
Copy
3 11

提示

小明首先选择第5个地方,吸引度为5,花销为3,小明预算剩下7

小明第二次选择第4个地方,吸引度为4,花销为4,小明预算剩下3

小明第三次选择第2个地方,吸引度为2,花销为3,小明预算剩下0

小明总共去了3个地方,吸引度之和为 5+4+2=11


对于30%的数据,满足 n <= 100,m <= 5000, 1<=a[i],b[i] <= 100,

对于60% 的数据,满足 n <= 1000,m <= 50000, 1<=a[i],b[i] <= 1000

对于80% 的数据,满足 n <= 3000,m <= 100000, 1<=a[i],b[i] <= 10000

对于100% 的数据,满足 n <= 50000, m <= 10000000, 1<=a[i],b[i] <= 50000


来源

 

[提交][状态]