测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A16775. New Year's Gifts

编程题 普及+/提高
知识点

题目描述

Monocarp 有 $n$ 个朋友,他决定在新年时给每个朋友送一份礼物。他还准备了 $m$ 个盒子来放置礼物,第 $i$ 个盒子的美观度为 $a_i$。每个盒子最多只能装一个礼物。

Monocarp 想给第 $i$ 个朋友的礼物至少价值 $y_i$ 硬币。此外,他知道第 $i$ 个朋友在以下两个条件至少满足一个时会感到高兴:

- 礼物放在美观度至少为 $x_i$ 的盒子里;
- 礼物价值至少为 $z_i$($z_i > y_i$)。

你的任务是帮助 Monocarp 计算在他有 $k$ 个硬币的情况下,他最多能让多少个朋友高兴。注意,Monocarp 必须给每个朋友买一件礼物,且礼物不一定需要放在盒子里。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。

每个测试用例的第一行包含三个整数 $n, m, k$($1 \le n, m \le 2 \times 10^5$;$1 \le k \le 10^{15}$)。

第二行包含 $m$ 个整数 $a_1, a_2, \dots, a_m$($1 \le a_i \le m$)。

接下来的 $n$ 行,每行包含三个整数 $x_i, y_i, z_i$($1 \le x_i \le m$;$1 \le y_i < z_i \le 10^9$)。

输入的额外约束:
- $\sum\limits_{i=1}^{n} y_i \le k$。
- 所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$。
- 所有测试用例中 $m$ 的总和不超过 $2 \times 10^5$。

输出格式

对于每个测试用例,输出一个整数,表示在 Monocarp 拥有 $k$ 个硬币的情况下,最多能让多少个朋友高兴。

输入输出样例

输入 #1
3
2 1 6
1
1 2 3
1 2 7
2 2 3
1 1
2 1 3
2 1 5
3 4 11
1 2 2 1
3 2 5
4 4 6
3 1 3
输出 #1
2
0
2

说明/提示

在第一个样例中,Monocarp 可以让两个朋友都高兴:给第一个朋友一个价值 $3$ 硬币的礼物,给第二个朋友一个价值 $2$ 硬币的礼物并放入美观度为 $1$ 的盒子中。

在第二个样例中,Monocarp 不能让任何朋友高兴,因为他没有足够的钱给任何一个朋友买价值 $z_i$ 的礼物,并且所有盒子的美观度都小于所有 $x_i$。

在第三个样例中,Monocarp 可以让两位朋友(第 $2$ 个和第 $3$ 个朋友)高兴:给第一个朋友一个价值 $2$ 硬币的礼物,给第二个朋友一个价值 $6$ 硬币的礼物,给第三个朋友一个价值 $3$ 硬币的礼物。
上一题 去做题 下一题