Wait 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