QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 512 MB

#23558. Jeu de hasard

Statistiques

L’équipe de production de 1박2일 a proposé un nouveau jeu de hasard. Elle donne d’abord $K$ cailloux à un joueur, qui fait tourner une roue numérotée $N$ fois. Après chaque tour, le joueur doit rendre à l’équipe autant de cailloux que le nombre obtenu. Il gagne s’il peut fournir les cailloux nécessaires pendant les $N$ tours, et perd s’il n’en a pas assez pour effectuer un paiement demandé.

La roue porte $T$ nombres, chacun étant un entier compris entre $0$ et $T-1$, bornes incluses. Les entiers peuvent se répéter, et tous les entiers de $0$ à $T-1$ ne doivent pas nécessairement apparaître.

Étant donnés $N$, $K$, $T$ et tous les nombres de la roue, écrivez un programme qui calcule le nombre de façons dont le joueur peut gagner.

Si un même nombre apparaît plusieurs fois sur la roue, ses occurrences comptent comme des possibilités distinctes malgré leur valeur identique.

Par exemple, si la roue porte les six nombres $0$, $1$, $1$, $2$, $4$, $5$, si le joueur a six cailloux et tourne la roue deux fois, il existe $30$ façons de gagner. Si le premier nombre est $0$ ou $1$, il gagne quel que soit le suivant. Si le premier est $2$, il existe cinq possibilités, en excluant un $5$ au second tour. Si le premier est $4$, il existe quatre possibilités, et s’il est $5$, il en existe trois.

Entrée

La première ligne contient trois entiers $N$, $K$, $T$, séparés par des espaces. $N$ est le nombre de tours, $K$ le nombre initial de cailloux et $T$ le nombre d’entiers sur la roue. On a $1 \le N \le 100\,000$, $1 \le K \le 1\,000$ et $2 \le T \le 20\,000$.

Les $T$ lignes suivantes, à partir de la deuxième, contiennent chacune un entier écrit sur la roue.

Sortie

Sur la première ligne, affichez le nombre de façons dont le joueur peut gagner, modulo $42\,043$.

Exemples

Entrée 1

2 6 6
0
1
1
2
4
5

Sortie 1

30

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.