CF436A.Feed with Candy

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

The hero of the Cut the Rope game is a little monster named Om Nom. He loves candies. And what a coincidence! He also is the hero of today's problem.

One day, Om Nom visited his friend Evan. Evan has n candies of two types (fruit drops and caramel drops), the i-th candy hangs at the height of h__i centimeters above the floor of the house, its mass is m__i. Om Nom wants to eat as many candies as possible. At the beginning Om Nom can make at most x centimeter high jumps. When Om Nom eats a candy of mass y, he gets stronger and the height of his jump increases by y centimeters.

What maximum number of candies can Om Nom eat if he never eats two candies of the same type in a row (Om Nom finds it too boring)?

《割绳子》游戏的主角是一个名叫欧姆·诺姆的小怪物。他酷爱糖果。多么巧合啊!他同时也是今天这道题目的主角。

一天,欧姆·诺姆去拜访他的朋友伊万。伊万有 nn 颗糖果,分为两类(水果糖和焦糖),其中第 ii 颗糖果悬挂在离地面 hih_i 厘米的高度,质量为 mim_i。欧姆·诺姆希望尽可能多地吃到糖果。初始时,欧姆·诺姆最多能跳 xx 厘米高。当欧姆·诺姆吃下一颗质量为 yy 的糖果后,他会变得更强壮,其跳跃高度将增加 yy 厘米。

若欧姆·诺姆从不连续吃两颗相同类型的糖果(他觉得那样太无聊),那么他最多能吃多少颗糖果?

输入格式

The first line contains two integers, n and x (1 ≤ n, x ≤ 2000) — the number of sweets Evan has and the initial height of Om Nom's jump.

Each of the following n lines contains three integers t__i, h__i, m__i (0 ≤ t__i ≤ 1; 1 ≤ h__i, m__i ≤ 2000) — the type, height and the mass of the i-th candy. If number t__i equals 0, then the current candy is a caramel drop, otherwise it is a fruit drop.

第一行包含两个整数 nn 和 xx(1≤n,x≤20001 \leq n, x \leq 2000)——分别表示 Evan 拥有的糖果数量以及 Om Nom 初始跳跃高度。

接下来的 nn 行中,每行包含三个整数 ti, hi, mit_i,\ h_i,\ m_i(0≤ti≤10 \leq t_i \leq 1;1≤hi,mi≤20001 \leq h_i, m_i \leq 2000)——分别表示第 ii 颗糖果的类型、高度和质量。若 ti=0t_i = 0,则该糖果为焦糖软糖;否则为水果软糖。

输出格式

Print a single integer — the maximum number of candies Om Nom can eat.

输出一个整数——Om Nom 能吃到的糖果最大数量。

输入输出样例

  • 输入#1

    5 3
    0 2 4
    1 3 1
    0 8 3
    0 20 10
    1 5 5

    输出#1

    4

说明/提示

One of the possible ways to eat 4 candies is to eat them in the order: 1, 5, 3, 2. Let's assume the following scenario:

  1. Initially, the height of Om Nom's jump equals 3. He can reach candies 1 and 2. Let's assume that he eats candy 1. As the mass of this candy equals 4, the height of his jump will rise to 3 + 4 = 7.
  2. Now Om Nom can reach candies 2 and 5. Let's assume that he eats candy 5. Then the height of his jump will be 7 + 5 = 12.
  3. At this moment, Om Nom can reach two candies, 2 and 3. He won't eat candy 2 as its type matches the type of the previously eaten candy. Om Nom eats candy 3, the height of his jump is 12 + 3 = 15.
  4. Om Nom eats candy 2, the height of his jump is 15 + 1 = 16. He cannot reach candy 4.

吃掉 4 颗糖果的一种可能方式是按顺序:1、5、3、2 进行。我们假设以下情景:

  1. 最初,Om Nom 的跳跃高度为 3。他能够够到糖果 1 和糖果 2。假设他吃掉了糖果 1。由于该糖果的质量为 4,他的跳跃高度将提升至 3+4=73 + 4 = 7。
  2. 此时,Om Nom 能够够到糖果 2 和糖果 5。假设他吃掉了糖果 5。那么他的跳跃高度将变为 7+5=127 + 5 = 12。
  3. 此刻,Om Nom 能够够到两颗糖果:2 和 3。他不会吃糖果 2,因为其类型与上一颗已吃的糖果类型相同。Om Nom 吃掉了糖果 3,他的跳跃高度变为 12+3=1512 + 3 = 15。
  4. Om Nom 吃掉了糖果 2,他的跳跃高度变为 15+1=1615 + 1 = 16。他无法够到糖果 4。

输入解题思路,AI测评打分。不知道怎么写?

首页