#JLT07C. 2026年J组模拟赛10连测第7场-T3 程老师的配餐

2026年J组模拟赛10连测第7场-T3 程老师的配餐

项目 说明
文件名 diet
输入文件 diet.in
输出文件 diet.out
时间限制 1000 ms
内存限制 512 MB

题目描述

寒假集训的午饭在学校食堂解决。三号窗口一共供应 nn 种食材,第 ii 种每份含 cic_i 千卡热量,程老师吃下它觉得有 viv_i 点口味值。窗口的规矩是每种食材至多取一份,取或者不取。

程老师每天给自己定一个热量上限 CC:这一顿取到的食材,热量加起来不能超过 CC 千卡。在这个前提下,他想让取到的食材带来的口味值总和尽量大。

请你帮他算一算,口味值总和最大能是多少。

输入格式

从文件 diet.in 中读入数据。

第一行两个整数 n,Cn, C,分别表示食材种数与这一顿的热量上限(单位:千卡)。

接下来 nn 行,每行两个整数 ci,vic_i, v_i,依次表示第 ii 种食材每份的热量与口味值。

输出格式

输出到文件 diet.out 中。

一行一个整数,表示口味值总和的最大值。

数据范围

测试点 n≤n \le 特殊性质
1~2 1010 无
3~6 1616
7~10 2626
11~14 2828
15~18 3030
19 A
20 B

特殊性质 A:所有食材的热量加起来不超过 CC。

特殊性质 B:所有食材每份的热量都相等。

对于所有测试点:1≤n≤301 \le n \le 30,1≤ci≤1081 \le c_i \le 10^8,1≤vi≤1091 \le v_i \le 10^9,1≤C≤1091 \le C \le 10^9。

4 10
6 7
3 4
4 5
5 6
12
3 100
10 5
20 8
30 9
22

样例解释

样例 1:取第 11 种和第 33 种,热量是 6+4=106 + 4 = 10,没有超过上限 1010,口味值是 7+5=127 + 5 = 12。若把第 1,2,31, 2, 3 种都取了,热量是 6+3+4=136 + 3 + 4 = 13,超过上限,这样取不合规矩。

样例 2:三种食材的热量加起来是 10+20+30=6010 + 20 + 30 = 60,不超过上限 100100,于是一种不落全取下来,口味值是 5+8+9=225 + 8 + 9 = 22。

难度 未评定
通过率 —
尝试 0
通过 0
ID
3755
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者

相关