CCC-15 (2015) - J4 (Wait Time)
View as PDFWait Time
Ανταλλάσσετε γραπτά μηνύματα με τους φίλους σας. Αφού λαμβάνετε πολλά μηνύματα, θέλετε να μετρήσετε πόσο χρόνο χρειάζεται να περιμένουν οι φίλοι σας για τις απαντήσεις σας.
Η συσκευή σας καταγράφει κάθε ληφθέν και αποσταλθέν μήνυμα με τη σειρά χρησιμοποιώντας τα εξής δύο είδη καταχωρήσεων:
υποδεικνύει ότι ένα μήνυμα ελήφθη από έναν φίλο με τον αριθμό
,
υποδεικνύει ότι ένα μήνυμα στάλθηκε σε έναν φίλο με αριθμό
.
Η συσκευή σας στέλνει και λαμβάνει μηνύματα αστραπιαία και για κάθε διαδοχικό ζεύγος καταχωρίσεων που περιγράφονται παραπάνω, είτε
- καταγράφεται μια καταχώρηση
μεταξύ τους που υποδεικνύει ότι απέχουν
δευτερόλεπτα μεταξύ τους, ή
- δεν υπάρχει καμία καταχώρηση ανάμεσά τους και απέχουν μεταξύ τους ένα δευτερόλεπτο.
Ακολουθούνται πάντα διάφοροι κανόνες για την επικοινωνία αυτή:
- τα μόνα μηνύματα που στέλνετε είναι απαντήσεις σε μηνύματα που έχετε λάβει,
- στέλνετε το πολύ μία απάντηση σε οποιοδήποτε μήνυμα από οποιονδήποτε φίλο,
- οι φίλοι σας δεν στέλνουν επόμενο μήνυμα μέχρι να απαντήσετε στο προηγούμενο μήνυμά τους.
Ο χρόνος αναμονής για ένα μήνυμα είναι ο χρόνος που μεσολαβεί από τη στιγμή που το λαμβάνετε μέχρι τη στιγμή που απαντάτε σε αυτό.
Αν ένας φίλος έλαβε απάντηση σε κάθε μήνυμα που έστειλε, ο συνολικός χρόνος αναμονής για τον φίλο
είναι το άθροισμα όλων των χρόνων αναμονής για όλα τα μηνύματα από τον φίλο
.
Διαφορετικά, ο συνολικός χρόνος αναμονής για τον φίλο
είναι
.
Η δική σας δουλειά είναι να προσδιορίσετε το συνολικό χρόνο αναμονής για κάθε φίλο.
Είσοδος
Η είσοδος αποτελείται από έναν ακέραιο αριθμό , ακολουθούμενο από
γραμμές, όπου κάθε γραμμή περιέχει έναν χαρακτήρα (
,
ή
), ακολουθούμενο από ένα κενό, ακολουθούμενο από έναν ακέραιο αριθμό
.
Αυτές οι
γραμμές είναι οι καταχωρίσεις που περιγράφονται παραπάνω (στη σειρά).
Έξοδος
Εξάγετε μία γραμμή για κάθε φίλο που έστειλε μήνυμα της μορφής όπου
είναι ένας αριθμός φίλου και
είναι ο συνολικός χρόνος αναμονής για τον φίλο
.
Οι γραμμές είναι κατά αύξουσα σειρά του αριθμού των φίλων.
Παραδείγματα
input
5
R 2
R 3
W 5
S 2
S 3
output
2 6
3 6
Επεξήγηση του πρώτου παραδείγματος:
Ο φίλος στέλνει ένα μήνυμα σε χρόνο
και ο φίλος
στέλνει ένα μήνυμα σε χρόνο
.
Ο φίλος
λαμβάνει απάντηση σε χρόνο
και ο φίλος
λαμβάνει απάντηση σε χρόνο
.
input
14
R 12
W 2
R 23
W 3
R 45
S 45
R 45
S 23
R 23
W 2
S 23
R 34
S 12
S 34
output
12 13
23 8
34 2
45 -1
Επεξήγηση του δεύτερου παραδείγματος:
Για τον φίλο , ένα μήνυμα λαμβάνεται σε χρόνο
και απαντάται σε χρόνο
. Για τον φίλο
, ανταλλάσσονται δύο μηνύματα, με το πρώτο μήνυμα να έχει χρόνο αναμονής
δευτερόλεπτα και το δεύτερο μήνυμα να έχει χρόνο αναμονής
δευτερόλεπτα.
Για τον φίλο
, ένα μήνυμα λαμβάνεται σε χρόνο
και απαντάται σε χρόνο
.
Ο φίλος
στέλνει ένα μήνυμα το οποίο δεν απαντάται ποτέ.
Comments