Universal Cup Judging System

Universal Cup

Time Limit: 1.0 s Memory Limit: 256 MB Total points: 100 Hackable ✓
Statistics

Умова

Ви — капітан шкільної команди зі спортивного програмування, яка приїхала до Чунціна на змагання CCPC. Щоб згуртувати команду після змагання, ви хочете організувати спільну вечерю. Однак, оскільки бюджет було повністю витрачено на хого ще до початку змагань, вартість вечері має бути розділена порівну (тобто, якщо у вечері загальною вартістю $W$ беруть участь $k$ осіб, кожна особа платить $\frac{W}{k}$) між усіма учасниками.

У команді є $n$ однокласників. Кожен однокласник, який прийде на вечерю, замовить рівно одну страву. $i$-й однокласник замовляє страву вартістю $w_i$. Крім того, кожен однокласник має бюджетне обмеження $r_i$: якщо підсумкова частка вартості вечері перевищить $r_i$, то $i$-й однокласник залишиться в готелі й натомість замовить їжу з доставкою.

Як капітан, ви хочете максимізувати кількість однокласників, які прийдуть на вечерю. Ваша мета — вибрати підмножину з $m$ однокласників так, щоб, якщо кожен із них замовить свою страву, розділена вартість (сума цін їхніх $m$ страв, поділена на $m$) не перевищувала бюджет $r_i$ жодного з $m$ вибраних однокласників. Знайдіть максимально можливе значення $m$.

Якщо такої підмножини для $m \ge 1$ не існує, виведіть $0$.

Вхідні дані

В одному вхідному файлі міститься декілька наборів вхідних даних. Перший рядок вхідних даних містить одне ціле число $T$ ($1 \le T \le 10^5$) — кількість наборів вхідних даних.

Для кожного набору вхідних даних:

  • Перший рядок містить одне ціле число $n$ ($1 \le n \le 10^5$), що позначає кількість однокласників.
  • Наступний рядок містить $n$ цілих чисел, де $i$-те ціле число $w_i$ ($1 \le w_i \le 10^9$) позначає ціну страви, яку замовляє $i$-й однокласник.
  • Наступний рядок містить $n$ цілих чисел, де $i$-те ціле число $r_i$ ($1 \le r_i \le 10^9$) позначає максимальну суму, яку $i$-й однокласник готовий заплатити.

Гарантується, що сума $n$ за всіма наборами вхідних даних не перевищує $10^5$.

Вихідні дані

Для кожного набору вхідних даних виведіть один рядок з одним цілим числом, що позначає відповідь.

Приклад

Вхідні дані 1

2
5
1 2 3 4 5
5 4 3 2 1
10
3 1 4 1 5 9 2 6 5 3
5 8 9 7 9 3 2 3 8 4

Вихідні дані 1

3
7

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.