COCI-16 (2016) - Γύρος #6 - 3 (Turnir)

View as PDF

Submit solution

Points: 35 (partial)
Time limit: 3.0s
Memory limit: 64M

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

Ο νεαρός Jozef έλαβε ως δώρο ένα σετ αποτελούμενο από 2N θετικούς ακέραιους αριθμούς. Λαμβάνοντας υπόψη το γεγονός ότι ο Jozef συμμετέχει συχνά σε τουρνουά ποδοσφαίρου, αποφάσισε να οργανώσει ένα τουρνουά για τους 2N θετικούς ακέραιους αριθμούς του.

Το τουρνουά αριθμών απεικονίζεται παρακάτω; Tο τουρνουά διεξάγεται σε ζευγάρια, όπου ο μεγαλύτερος από τους δύο αριθμούς προχωρά στο ανώτερο επίπεδο. Τα επίπεδα συμβολίζονται με αριθμούς από το 1 έως το N, όπου στο υψηλότερο επίπεδο δίνεται ο αριθμός 0.

coci16f3-figure.svg

Επειδή ο Jozef δεν έχει χρόνο να οργανώσει όλα τα τουρνουά, θέλει να γνωρίζει, για κάθε αριθμό από το αρχικό σετ, το υψηλότερο επίπεδο (ο μικρότερος αριθμός επιπέδου) στο οποίο μπορεί να καταλήξει ο αριθμός, για οποιαδήποτε μετάθεση του πίνακα εισόδου.

Είσοδος

Η πρώτη γραμμή εισόδου περιέχει τον θετικό ακέραιο αριθμό N\;(1 \le N \le 20).
Η ακόλουθη γραμμή περιέχει 2N θετικούς ακέραιους από το διάστημα [1,\;10^9], τα στοιχεία του συνόλου.

Έξοδος

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

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

input

2
1 4 3 2

output

2 0 1 1

input

4
5 3 2 6 4 8 7 1 2 4
3 3 6 4 8 1

output

1 2 2 1 1 0 1 3 2 1 2 2 1 1 0 3

input

1
1 1

output

0 0

Comments

There are no comments at the moment.