COCI-09 (2009) - Γύρος #3 - 3 (Sort)

View as PDF

Submit solution

Points: 35 (partial)
Time limit: 1.0s
Memory limit: 32M

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

Ο Mirko είναι ένας εξαιρετικός αποκρυπτογράφος. Γνωρίζει ότι κάθε κρυπτογράφηση στον κόσμο μπορεί να σπάσει με ανάλυση συχνότητας. Ωστόσο, έχει εντελώς λάθος ιδέα για το τι είναι η ανάλυση συχνότητας.
Αναχαίτισε ένα μήνυμα του εχθρού. Το μήνυμα αποτελείται από N αριθμούς, μικρότερους ή ίσους με C. Ο Mirko πιστεύει ότι ανάλυση συχνότητας συνιστά την ταξινόμηση αυτής της ακολουθίας, έτσι ώστε πιο συχνά εμφανιζόμενοι αριθμοί να βρίσκονται πριν από λιγότερο συχνά εμφανιζόμενους.
Τυπικά, η ακολουθία αυτή πρέπει να ταξινομηθεί έτσι ώστε για δύο οποιουσδήποτε αριθμούς X και Y, το X να εμφανίζεται πριν από το Y εάν ο αριθμός των φορών που εμφανίζεται το X στην αρχική ακολουθία είναι μεγαλύτερος από τον αριθμό των φορών που εμφανίζεται το Y. Αν o αριθμός των εμφανίσεων είναι ίσος, τότε ο αριθμός που η αξία του εμφανίζεται νωρίτερα στην είσοδο, θα είναι αυτός που θα εμφανίζεται νωρίτερα στην ταξινομημένη σειρά.
Βοηθήστε τον Mirko δημιουργώντας έναν "ταξινομητή συχνότητας".

Είσοδος

Η πρώτη γραμμή περιέχει δύο ακέραιους αριθμούς, το μήκος μηνύματος N\;(1 \le N \le 1\,000), και τον αριθμό C της εκφώνησης, όπου (1 \le C \le 1\,000\,000\,000).
Η επόμενη γραμμή περιέχει το ίδιο το μήνυμα, δηλαδή N το πλήθος ακέραιους αριθμούς, μικρότερους ή ίσους του C.

Έξοδος

Η πρώτη και μοναδική γραμμή πρέπει να περιέχει N αριθμούς, την ταξινομημένη ακολουθία.

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

input

5 2
2 1 2 1 2

output

2 2 2 1 1

input

9 3
1 3 3 3 2 2 2 1 1

output

1 1 1 3 3 3 2 2 2

input

9 77
11 33 11 77 54 11 25 25 33

output

11 11 11 33 33 25 25 77 54

Comments

There are no comments at the moment.