COCI-12 (2012) - Γύρος #4 - 5 (Dlakavac)

View as PDF

Submit solution

Points: 45 (partial)
Time limit: 2.0s
Memory limit: 32M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Dlakavac

Στη μακρινή πόλη Xanadu, έχει ξεσπάσει επιδημία γρίπης, που προκαλείται από ένα στέλεχος γνωστό ως τριχωτή γρίπη.
Υπάρχουν M άτομα που ζουν στην πόλη, κάθε κάτοικος έχει έναν μοναδικό προσωπικό αριθμό ταυτότητας από 0 έως και M - 1. Η μόλυνση με αυτό το στέλεχος διαρκεί ακριβώς μία ημέρα και ένα άτομο μπορεί να το κολλήσει πολλές φορές ανά εποχή (καθώς ο ιός μεταλλάσσεται πολύ γρήγορα για να έχει διαρκή ανοσία).
Την πρώτη μέρα της επιδημίας, από μια άλλη μακρινή χώρα μια ομάδα κατοίκων με το παρατσούκλι "αρχικοί ασθενείς" έφεραν την γρίπη, των οποίων οι αριθμοί ταυτότητας είναι γνωστοί. Η εξάπλωση της γρίπης βασίζεται σε αυτούς.
Κάθε επόμενη μέρα, ένας κάτοικος με αριθμό ταυτότητας p θα κολλήσει τη γρίπη, εάν υπάρχει κάτοικος με αριθμό ταυτότητας a που είχε μολυνθεί την προηγούμενη ημέρα, καθώς και ένας αρχικός ασθενής με αριθμό ταυτότητας b, έτσι ώστε

(a \ast b) mod M = p

Οι αριθμοί a και b δεν χρειάζεται να είναι διακριτοί. Για παράδειγμα, εξετάστε μια περίπτωση όπου υπάρχουν 101 άτομα στην πόλη και οι αρχικοί ασθενείς είναι o 5 και o 50. Την πρώτη ημέρα, οι αρχικοί ασθενείς μολύνονται εξ ορισμού.
Τη δεύτερη ημέρα, οι μολυσμένοι κάτοικοι είναι 25, 48 (250\;mod\;101) και 76 (2500\;mod\;101). Την τρίτη ημέρα, ένας από τους μολυσμένους ασθενείς είναι 77, αφού (48 *50)\;  mod\; 101 = 77.
Ποιος θα κολλήσει γρίπη την \(Κ\)-οστή ημέρα;

Είσοδος

Η πρώτη γραμμή εισόδου περιέχει τρεις θετικούς ακέραιους, K, M και N (1 \le K \le 10^18,\; 3 \le M \le 1500,\; N < M).
Η δεύτερη γραμμή εισόδου περιέχει N μη αρνητικούς ακέραιους διαχωρισμένους με κενά διαστήματα, τους αριθμούς ταυτότητας των κατοίκων που μολύνθηκαν την πρώτη ημέρα (οι αρχικοί ασθενείς). Αυτοί οι αριθμοί είναι μοναδικοί, αυξανόμενοι και δεν ξεπερνούν το M - 1.

Έξοδος

Η πρώτη και μοναδική γραμμή εξόδου πρέπει να περιέχει τους αριθμούς ταυτότητας κατοίκων που έχουν μολυνθεί από γρίπη την K-οστή ημέρα, χωρισμένοι με κενά και με αυξανόμενη σειρά.

Παραδείγματα

input

1 100 3
1 2 3

output

1 2 3

input

2 100 3
1 2 3

output

1 2 3 4 6 9

input

10 101 2
5 50

output

36 44 57 65

Comments

There are no comments at the moment.