Universal Cup Judging System

Universal Cup

Time Limit: 1 s Memory Limit: 512 MB Total points: 100 Hackable ✓
Statistics

Yukilla on kooltaan $n$ oleva monijoukko $S=\{s_1,\ldots,s_n\}$ sekä kokonaisluku $k$.

Yuki määrittelee muunnoksen seuraavasti:

  • Valitse joukon $S$ osajoukko $S'$ (missä $S'$ voi olla tyhjä joukko), poista $S'$ joukosta $S$ ja lisää joukon $S'$ $\operatorname{mex}^{*}$ joukkoon $S$.

Nyt Yuki haluaa suorittaa useita muunnoksia niin, että joukosta $S$ tulee $\{k\}$. Sinun tulee auttaa Yukia löytämään pienin muunnosten määrä, jolla joukosta $S$ saadaan $\{k\}$. Koska vastaus voi olla hyvin suuri, sinun tarvitsee vain tulostaa vastaus modulo $998244353$.

Voidaan todistaa, että aina on olemassa vähintään yksi operaatioiden sarja, joka muuntaa joukon $S$ joukoksi $\{k\}$.

$*$: Monijoukon mex on pienin epänegatiivinen kokonaisluku, joka ei esiinny monijoukossa. Esimerkiksi $\operatorname{mex}\{0,1,2\}=3$, $\operatorname{mex}\{1,0,3,1\}=2$ ja $\operatorname{mex}\varnothing=0$.

Syöte

Tässä tehtävässä on useita testitapauksia.

Ensimmäinen rivi sisältää positiivisen kokonaisluvun $t$ ($1 \le t \le 10^5$), joka ilmoittaa testitapausten määrän.

Jokaiselle testitapaukselle:

  • Ensimmäinen rivi sisältää kaksi kokonaislukua $n,k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le 10^9$).
  • Toinen rivi sisältää $n$ kokonaislukua $s_1,\ldots,s_n$ ($0 \le s_i \le 10^9$).

On taattu, että lukujen $n$ summa yli kaikkien testitapausten ei ylitä arvoa $5 \cdot 10^5$.

Tuloste

Tulosta jokaiselle testitapaukselle yksi rivi, joka sisältää kokonaisluvun: pienimmän muunnosten määrän, jolla joukosta $S$ saadaan $\{k\}$, modulo $998244353$.

Esimerkit

Syöte 1

6
1 2
1
1 4
4
3 3
0 2 2
4 2
1 0 3 2
4 3
2 1 0 2
3 52
20 2 6

Tuloste 1

2
0
3
2
1
262875292

Huomautus

  1. testitapauksessa:

  2. Yuki voi valita 1. muunnoksessa $S'=\varnothing$, jolloin $S=\{0,1\}$, ja valita sitten 2. muunnoksessa $S'=\{0,1\}$, jolloin $S=\{2\}$.

  3. Voidaan todistaa, ettei pienemmällä muunnosmäärällä ole operaatioiden sarjaa, joten vastaus on $2$.

  4. testitapauksessa:

  5. Yukin ei tarvitse suorittaa yhtään muunnosta saadakseen $S=\{4\}$, joten vastaus on $0$.

  6. testitapauksessa:

  7. Yuki voi valita 1. muunnoksessa $S'=\varnothing$, jolloin $S=\{0,0,2,2\}$, valita 2. muunnoksessa $S'=\{0,2\}$, jolloin $S=\{0,1,2\}$, ja valita sitten 3. muunnoksessa $S'=\{0,1,2\}$, jolloin $S=\{3\}$.

  8. Voidaan todistaa, ettei pienemmällä muunnosmäärällä ole operaatioiden sarjaa, joten vastaus on $3$.

  9. testitapauksessa:

  10. Yuki voi valita 1. muunnoksessa $S'=\{2,3\}$, jolloin $S=\{0,0,1\}$, ja valita sitten 2. muunnoksessa $S'=\{0,0,1\}$, jolloin $S=\{2\}$.

  11. Voidaan todistaa, ettei pienemmällä muunnosmäärällä ole operaatioiden sarjaa, joten vastaus on $2$.

  12. testitapauksessa:

  13. Yuki voi valita suoraan 1. muunnoksessa $S'=\{0,1,2,2\}$, jolloin $S=\{3\}$.

  14. Voidaan todistaa, ettei pienemmällä muunnosmäärällä ole operaatioiden sarjaa, joten vastaus on $1$.

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.