Codeforces Round 610 (Div. 2) |
---|
Закончено |
Петя пришел на экзамен по математике и хочет решить как можно больше задач. Он подготовился и внимательно изучил правила, по которым проходит экзамен.
Экзамен состоит из $$$n$$$ задач, которые можно решать в течении $$$T$$$ минут. Таким образом, экзамен начинается в момент времени $$$0$$$, а заканчивается — в момент времени $$$T$$$. Петя может уйти с экзамена в любой целочисленный момент времени от $$$0$$$ до $$$T$$$, включительно.
Все задачи делятся на два типа:
Таким образом, если в момент времени $$$x$$$ Петя приступает к решению простой задачи, то она будет решена в момент времени $$$x+a$$$. Аналогично, если в момент времени $$$x$$$ Петя приступает к решению сложной задачи, то она будет решена в момент времени $$$x+b$$$.
Про каждую задачу Пете известно сложная она или простая. Помимо этого, для каждой задачи определен момент времени $$$t_i$$$ ($$$0 \le t_i \le T$$$), в который она станет обязательной. Если Петя уходит с экзамена в момент времени $$$s$$$ и есть такая задача $$$i$$$, что $$$t_i \le s$$$ и он её не решил, то считается, что за весь экзамен он получит $$$0$$$ баллов. В противном случае (то есть, если он решил все такие задачи, для которых $$$t_i \le s$$$) он получит количество баллов, равное количеству решенных задач. Отметим, что уходя в момент времени $$$s$$$ Петя может иметь решенными как «обязательные», так и «необязательные» задачи.
Например, если $$$n=2$$$, $$$T=5$$$, $$$a=2$$$, $$$b=3$$$, первая задача является сложной и для неё $$$t_1=3$$$ и вторая задача является простой и для неё $$$t_2=2$$$, то:
Таким образом, ответ на этот тест равен $$$2$$$.
Помогите Пете определить максимальное количество баллов, которые он успеет набрать перед тем как уйдет с экзамена.
В первой строке находится число $$$m$$$ ($$$1 \le m \le 10^4$$$) — количество наборов входных данных в тесте.
Далее следуют описания $$$m$$$ наборов входных данных, по три строки на каждый набор.
В первой строке каждого набора входных данных находятся четыре целых числа $$$n, T, a, b$$$ ($$$2 \le n \le 2\cdot10^5$$$, $$$1 \le T \le 10^9$$$, $$$1 \le a < b \le 10^9$$$) — количество задач, минут, отведенных на экзамен, время решения простой и сложной задачи, соответственно.
Во второй строке каждого набора входных данных находятся $$$n$$$ чисел $$$0$$$ или $$$1$$$, записанные через пробел: $$$i$$$-е число означает тип $$$i$$$-й задачи. Значение $$$0$$$ означает, что задача простая, а значение $$$1$$$ — сложная.
В третьей строке каждого набора входных данных находятся $$$n$$$ целых чисел $$$t_i$$$ ($$$0 \le t_i \le T$$$), где $$$i$$$-е число означает время, в которое $$$i$$$-я задача станет обязательной.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2\cdot10^5$$$
Выведите ответы на $$$m$$$ заданных наборов входных данных. Для каждого набора выведите одно целое число — максимальное количество баллов, которые он успеет набрать перед тем как уйдет с экзамена.
10 3 5 1 3 0 0 1 2 1 4 2 5 2 3 1 0 3 2 1 20 2 4 0 16 6 20 2 5 1 1 0 1 0 0 0 8 2 9 11 6 4 16 3 6 1 0 1 1 8 3 5 6 6 20 3 6 0 1 0 0 1 0 20 11 3 20 16 17 7 17 1 6 1 1 0 1 0 0 0 1 7 0 11 10 15 10 6 17 2 6 0 0 1 0 0 1 7 6 3 7 10 12 5 17 2 5 1 1 1 1 0 17 11 10 6 4 1 1 1 2 0 1
3 2 1 0 1 4 0 1 2 1
Название |
---|