COCI-23 (2023) - Γύρος #3 - 1 (Eurokod)

View as PDF

Submit solution

Points: 15 (partial)
Time limit: 1.0s
Memory limit: 512M

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

Φέτος διεξάγεται για πρώτη φορά το Eurokod, ένας διεθνής διαγωνισμός συγγραφής όμορφου και ευανάγνωστου κώδικα!

Σε αυτόν συμμετέχουν n διαγωνιζόμενοι, αριθμημένοι από 1 έως n, και ο καθένας τους έχει συντάξει κώδικα.

Οι κώδικές τους αξιολογούνται από μια εταιρεία από επιστήμονες υπολογιστών. Η εταιρεία αυτή αποτελείται από έναν πρόεδρο και μέλη. Ο πρόεδρος βαθμολογεί τους κώδικες με έναν τρόπο, ενώ τα μέλη της εταιρείας βαθμολογούν με διαφορετικό τρόπο.

Βαθμολόγηση του Προέδρου:

Ο πρόεδρος θα κατατάξει τους κώδικες από τον πιο όμορφο στον λιγότερο όμορφο (κατά τη γνώμη του). Ο πρώτος κώδικας θα λάβει n βαθμούς, και κάθε διαδοχικός κώδικας θα λάβει έναν βαθμό λιγότερο από τον προηγούμενο.

Βαθμολόγηση των Μελών της Εταιρείας:

Κάθε μέλος της εταιρείας θα ψηφίσει τον κώδικα που θεωρεί τον πιο όμορφο. Αφού κάθε μέλος της εταιρείας ψηφίσει, οι κώδικες θα καταταχθούν σε φθίνουσα σειρά ανάλογα με τον αριθμό των ψήφων που έλαβαν από τα μέλη της εταιρείας. Ο πρώτος κώδικας (αυτός με τις περισσότερες ψήφους) θα λάβει n βαθμούς, και κάθε διαδοχικός κώδικας θα λάβει έναν βαθμό λιγότερο από τον προηγούμενο.

Συνολικοί Βαθμοί:

Ο συνολικός αριθμός των βαθμών για κάθε κώδικα είναι ίσος με το άθροισμα των βαθμών που του απένειμε ο πρόεδρος και του αριθμού των βαθμών που του απένειμαν τα μέλη της εταιρείας.

Η δουλειά σας είναι να εκτυπώσετε τη σειρά από κώδικες σε φθίνουσα με βάση τον αριθμό των βαθμών.

Εάν περισσότεροι κώδικες έχουν τον ίδιο αριθμό βαθμών, τότε ο κώδικας με την καλύτερη θέση στην κατάταξη θα είναι αυτός που έχει κερδίσει περισσότερους βαθμούς από τα μέλη της εταιρείας.

Είσοδος

Η πρώτη γραμμή της εισόδου θα περιέχει έναν ακέραιο n\;(1 \le n \le 50), τον αριθμό των διαγωνιζομένων.

Η δεύτερη γραμμή θα περιέχει n ακεραίους a_{i}\;(1 \le a_{i} \le n), όπου ο i-οστός ακέραιος θα αντιπροσωπεύει τον αριθμό του κώδικα που ο πρόεδρος κατατάσσει στη i-ιοστή θέση. Η κατάταξη του προέδρου δίνεται με τη σειρά από τον πιο όμορφο έως τον λιγότερο όμορφο κώδικα και περιλαμβάνει όλες τις αριθμήσεις από την πρώτη έως τη n-οστή ακριβώς μία φορά.

Η τρίτη γραμμή θα περιέχει n ακεραίους b_{i}\;(1 \le b_{i} \le n), όπου ο i-οστός ακέραιος αντιπροσωπεύει τον αριθμό των ψήφων που έλαβε ο i-οστός κώδικας από τα μέλη της εταιρείας. Δεν θα υπάρξουν δύο κώδικες που να έλαβαν τον ίδιο αριθμό ψήφων.

Έξοδος

Σε n γραμμές, εκτυπώστε την κατάταξη των κωδικών σε φθίνουσα σειρά ανάλογα με τον αριθμό των βαθμών.

Κάθε γραμμή θα πρέπει να έχει τη μορφή "[κατάταξη]. Kod[ετικέτα] ([αριθμός βαθμών])", όπου [κατάταξη] είναι η θέση του κώδικα στην κατάταξη, [ετικέτα] είναι η ετικέτα του κώδικα γραμμένη σε δυψήφια μορφή με προπορευόμενα μηδενικά, και [αριθμός βαθμών] είναι ο αριθμός των βαθμών που κέρδισε ο κώδικας.

Για παράδειγμα, αν η πρώτη θέση κερδήθηκε από τον κώδικα με αρίθμηση 3 με 12 βαθμούς, τότε η πρώτη γραμμή θα είναι "1.\;Kod03\;(12)".

Βαθμολογία
 Υποπρόβλημα    Βαθμοί   Περιορισμοί
1 17 Για κάθε κώδικα, ο αριθμός των ψήφων που λαμβάνει από τα μέλη της εταιρείας είναι ίσος με τον αριθμό των βαθμών που απονέμονται από τα μέλη της εταιρείας, και δεν θα υπάρξουν δύο κώδικες που να έχουν τον ίδιο συνολικό αριθμό βαθμών.
2 19 Δεν θα υπάρχουν δύο κώδικες με την ίδια συνολική βαθμολογία
3 14 Κανένας επιπλέον περιορισμός

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

input

3
1 2 3
50 10 20

output

1. Kod01 (6)
2. Kod03 (3)
3. Kod02 (3)
Επεξήγηση του πρώτου παραδείγματος:

Ο Kod03 και ο Kod02 έχουν τον ίδιο αριθμό βαθμών, αλλά ο Kod03 έχει περισσότερες ψήφους από τα μέλη της εταιρείας, οπότε κατατάσσεται υψηλότερα.


input

5
5 2 4 1 3
4 5 2 1 3

output

1. Kod02 (9)
2. Kod05 (8)
3. Kod01 (6)
4. Kod04 (4)
5. Kod03 (3)

input

7
6 3 2 1 5 4 7
200 56 11 0 13 105 12

output

1. Kod06 (13)
2. Kod01 (11)
3. Kod02 (10)
4. Kod03 (8)
5. Kod05 (7)
6. Kod07 (4)
7. Kod04 (3)

Comments

There are no comments at the moment.