家鸡系列

测试数据来自 IkeLiu/1006

题目背景:
很久很久以前,在一个古老又遥远的地方,生活着很多只野鸡。
有一天,世界上第一个人类诞生了,他的名字叫jacky_hu。
又过了几天,jacky_hu 的伙伴: SuperIke_Liu 博士和 fire_dragon 专家诞生了。
他们意识到把野鸡抓过来,就可以将野鸡变成家鸡。
于是,他们这三位青少年早荔枝,荔大枝,荔长枝,将个人的荔枝同家鸡联系在一起(doge

题目描述:

#include<cstdio>
int main(){
    printf("Hello, World!");
    return 0;
}

在跟世界打过招呼以后,他们出发了,开始抓野鸡做家鸡。

山外青山楼外楼,唱跳rap打篮球。中分头,背带裤,我是ikun你记住。
清明时节雨坤坤,路上行人梳中分。借问坤家何处有,牧童遥指蔡徐坤。

终于,他们找到了野鸡。

他们开始抓野鸡。

不料,野鸡很难抓,每只鸡都要花很多时间来抓。

他们三个人活在世上的时间有限,但他们要抓尽可能多的野鸡,整出家鸡系列。

他们找来了宇宙之神你,请你帮助。

现在有 n 只野鸡,每只野鸡都有自己的价值 \(a[i]\) ,但每只野鸡也都要花费一定的时间(\(t[i]\) 年)来抓。

他们三个人还有 m 年的寿命,请算出他们在死之前能抓到的野鸡最大价值是多少,以及他们能抓哪几只野鸡。

注意:他们在死的那一刻抓住的野鸡也算抓住。

数据样例:

输入:

第一行一个整数 \(n\) ;

第二行一个整数 \(m\) ;

接下来 \(n\) 行,每行两个数整数,分别表示 \(t[i]\) 和 \(a[i]\) 。

输出:

第一行:能抓到野鸡的最大价值

第二行:能抓到的野鸡,每只野鸡之间用空格隔开

输入样例:

5 1
1 114514
2 31
3 1919810
1 10
0 6

输出样例:

114520
1 5

提示:

\(n<=20,p<2 ^ {64},a[i]<2 ^ {64},t[i]<2 ^ {64}\)

请用double数据类型进行存储(如果你愿意,long double也行)。

信息

ID
1019
难度
9
分类
(无)
标签
递交数
3
已通过
3
通过率
100%
上传者

相关

在下列训练计划中:

家鸡的训练计划