COCI-16 (2016) - Γύρος #5 - 2 (Pareto)

View as PDF

Submit solution

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

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

Η αρχή του Paret, γνωστή και ως «κανόνας 80/20», δηλώνει ότι σε πολλές περιπτώσεις το 80% των αποτελεσμάτων προέρχεται από το 20% των (πιο σημαντικών) αιτιών. Για παράδειγμα, η Microsoft διαπίστωσε ότι, διορθώνοντας το 20% των πιο συχνά αναφερόμενων σφαλμάτων, θα εξαλείψει το 80% του χρόνου διακοπής λειτουργίας στα συστήματά της. Στον επιχειρηματικό κόσμο, λέγεται συχνά ότι το 80% του εισοδήματος προέρχεται από το 20% των πιο σημαντικών πελατών. Στον κόσμο των παιχνιδιών για κινητά, όταν πρόκειται για παιχνίδια με δωρεάν βασική λειτουργικότητα, το 50% του κέρδους προέρχεται από το 0,5% των παικτών. Κάποιοι λένε ότι το 80% της επιτυχίας σας θα προέλθει από το 20% των δραστηριοτήτων σας.

Είναι γνωστό ότι το 80% των παγκόσμιων αγαθών ανήκει στο 20% των (πλουσιότερων) ανθρώπων. Το καθήκον σας είναι να ελέγξετε την εγκυρότητα αυτού του κανόνα με βάση τους τραπεζικούς λογαριασμούς που ανήκουν σε πελάτες μιας μεμονωμένης τράπεζας. Είναι αλήθεια ότι το 20% των λογαριασμών κατέχει το 80% των συνολικών χρημάτων; Υπάρχει μια ισχυρότερη αξίωση, για παράδειγμα, ότι μόνο το 10% των λογαριασμών κατέχει το 85% των συνολικών χρημάτων;

Πιο συγκεκριμένα: με βάση τα δεδομένα των υπολοίπων λογαριασμώ N τραπεζικών πελατών, ο στόχος σας είναι να βρείτε τους αριθμούς A και B με τη μέγιστη διαφορά Β – A, τέτοια ώστε να μπορούμε να πούμε ότι ακριβώς το A% των λογαριασμών κατέχει το B% του συνόλου των χρημάτων όλων των πελατών της τράπεζας.

Είσοδος

Η πρώτη γραμμή εισόδου περιέχει τον ακέραιο αριθμό​N\;(1 \le N \le 300\,000), τον αριθμό των πελατών στην τράπεζα.
Η ακόλουθη γραμμή περιέχει N ακέραιους αριθμούς από το διάστημα [0, 100\,000\,000], τα υπόλοιπα των τραπεζικών λογαριασμών σε ευρώ.

Έξοδος

Σε δύο γραμμές, πρέπει να τυπώσετε τους δύο πραγματικούς A και B, παραλείποντας το σύμβολο του ποσοστού. Η λύση με τη μέγιστη διαφορά B - A θα είναι μοναδική. Μια απόκλιση από την επίσημη λύση για λιγότερο από 0,01 θα είναι αποδεκτή.

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

input

2
100 200

output

50.0
66.66666666666666
Επεξήγηση του 1ου παραδείγματος:

Το 50% των λογαριασμών (ένας λογαριασμός, αυτός με τα 200 ευρώ), περιέχει τα δύο τρίτα, το 66,666667% των συνολικών χρημάτων.


input

8
100100 10 100 1000 1 10100
90100 100100

output

37.5
96.28172769816027

Comments

There are no comments at the moment.