QOJ.ac

QOJ

时间限制: 2 s 内存限制: 512 MB 总分: 100

#13455. Тур

统计

Маленький W решил отправиться в выпускное путешествие и приехал в город T. В городе T есть $n$ достопримечательностей. Он хочет выехать из отеля, посетить каждую достопримечательность ровно один раз и вернуться в отель.

Однако маленький W не хочет слишком сильно утомляться. В частности, при перемещении от одной достопримечательности к другой он испытывает утомление. У каждой достопримечательности есть целочисленный вес $v_i$. Если он переходит от $i$-й достопримечательности к $j$-й, его утомление составляет $v_i \times v_j$. Утомление всей поездки определяется как максимальное из значений утомления при всех перемещениях.

Маленький W не хочет слишком сильно утомляться, поэтому он хочет найти такой план путешествия, чтобы утомление всей поездки было меньше неотрицательного целого числа $w$. Он считает, что эта задача слишком проста для вас, поэтому хочет узнать, сколько всего существует различных планов путешествия, удовлетворяющих этому условию. Ответ нужно вывести по модулю $998244353$.

Входные данные

В первой строке заданы два числа $n$ и $w$, обозначающие количество достопримечательностей и ограничение на утомление соответственно.

Во второй строке заданы $n$ целых чисел $v_i$, обозначающих веса каждой достопримечательности.

Выходные данные

Выведите одно целое число — ответ на задачу.

Примеры

Пример 1

Входные данные

3 3
1 2 3

Выходные данные

2

Пример 2

Входные данные

6 5
1 1 4 5 1 4

Выходные данные

144

Пример 3

Входные данные

16 20
-1 9 -9 9 -1 3 -9 2 -8 4 -1 4 0 8 5 3

Выходные данные

802901549

Подзадачи

Для всех данных $0 \le w, |v_i| \le 10^9$, $1 \le n \le 200000$.

  • Подзадача 1 (10 баллов): $n \le 200$, $v_i \ge 0$
  • Подзадача 2 (10 баллов): $n \le 2000$, $v_i \ge 0$
  • Подзадача 3 (10 баллов): $n \le 50000$, $v_i \ge 0$
  • Подзадача 4 (10 баллов): $n \le 200000$, $v_i \ge 0$
  • Подзадача 5 (10 баллов): $n \le 200$
  • Подзадача 6 (10 баллов): $n \le 2000$
  • Подзадача 7 (20 баллов): $n \le 50000$
  • Подзадача 8 (20 баллов): $n \le 200000$

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.