D. 朋友与餐厅

    传统题 1000ms 256MiB

朋友与餐厅

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

nn 个朋友决定一起去餐厅。第 ii 个朋友计划花费 xix_i 元,并且拥有 yiy_i 元(1in1 \le i \le n)。

这些朋友决定将去餐厅的行程分成若干天。每一天,至少有两位朋友组成一组去餐厅。每位朋友最多只去一次餐厅(即这些组互不相交)。每组必须满足:该组所有人计划在餐厅花费的总金额不得超出他们的总预算。也就是说,组内所有 xix_i 的和不能超过组内所有 yiy_i 的和。

问这些朋友最多可以分成多少天去餐厅?

例如,设 n=6n=6x=[8,3,9,2,4,5]x=[8,3,9,2,4,5]y=[5,3,1,4,5,10]y=[5,3,1,4,5,10]。那么:

  • 第 1 和第 6 个朋友可以在第一天一起去餐厅。他们计划花费 8+5=138+5=13 元,总预算为 5+10=155+10=15 元。由于 151315 \ge 13,他们可以组成一组。
  • 第 2、4、5 个朋友可以组成第二组。他们计划花费 3+2+4=93+2+4=9 元,总预算为 3+4+5=123+4+5=12 元(12912 \ge 9)。

可以证明,无法再组成更多满足条件的组(每组至少两人且能支付账单)。

因此,朋友们最多可以分成 22 组,也就是最多可以去餐厅 22 天。注意,第 3 个朋友不会去餐厅。

对于给定的 nnxxyy,输出朋友们最多可以去餐厅的天数。

输入格式

每个测试用例的第一行包含一个整数 nn2n1052 \le n \le 10^5),表示朋友的数量。

第二行包含 nn 个整数 x1,x2,,xnx_1, x_2, \dots, x_n1xi1091 \le x_i \le 10^9),其中 xix_i 表示第 ii 个朋友计划在餐厅花费的金额。

第三行包含 nn 个整数 y1,y2,,yny_1, y_2, \dots, y_n1yi1091 \le y_i \le 10^9),其中 yiy_i 表示第 ii 个朋友拥有的金额。

对于 30%30\% 的样例 n103n \le 10^3 ;

对于 100%100\% 的样例 n105n \le 10^5

输出格式

输出朋友们最多可以去餐厅的天数。如果无法组成至少一组去餐厅,输出 00

6
8 3 9 2 4 5
5 3 1 4 5 10
4
1 2 3 4
1 1 2 2
3
2 3 7
1 3 10
6
2 3 6 9 5 7
3 2 7 10 6 10
6
5 4 2 1 8 100
1 1 1 1 1 200
6
1 4 1 2 4 2
1 3 3 2 3 4
2
0
1
3
1
3

说明/提示

第一个测试用例已在题目描述中解释。

第二个测试用例中,朋友们无法组成至少一组两人及以上的组。

第三个测试用例中,一种方案是三位朋友一起去餐厅(1+3+102+3+71+3+10 \ge 2+3+7)。注意,他们无法分成两组。

周赛#1020(div3)

未参加
状态
已结束
规则
IOI
题目
5
开始于
2026-3-21 19:00
结束于
2026-3-21 20:00
持续时间
1 小时
主持人
参赛人数
26