COCI-07 (2007) - Γύρος #6 - 2 (Semafori)

View as PDF

Submit solution

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

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

Ο Luka οδηγεί το φορτηγό του σε έναν μακρύ ίσιο δρόμο με πολλά φανάρια. Για κάθε φανάρι ξέρει πόσο καιρό θα είναι αναμμένα τα κόκκινα και πράσινα φανάρια (ο κύκλος επαναλαμβάνεται ατελείωτα).
Όταν ο Luka ξεκινά το ταξίδι του, όλα τα φανάρια είναι κόκκινα και μόλις ξεκίνησαν τον κύκλο τους. Ο Luka κινείται μία μονάδα απόστασης ανά δευτερόλεπτο. Όταν ένα φανάρι είναι κόκκινο, σταματά και περιμένει μέχρι να γίνει πράσινο.
Γράψτε ένα πρόγραμμα που να καθορίζει πόσο χρόνο χρειάζεται ο Luka για να φτάσει στο τέλος του δρόμου. Η αρχή του δρόμου είναι στην απόσταση μηδέν, το τέλος στην απόσταση L.

Είσοδος

Η πρώτη γραμμή περιέχει δύο ακέραιους αριθμούς N και L\;(1 \le N \le 100,\;1 \le L \le 1\,000), τον αριθμό των φωτεινών σηματοδοτών στο δρόμο και το μήκος του δρόμου.
Κάθε μία από τις επόμενες N γραμμές περιέχει τρεις ακέραιους D,\;R και G, που περιγράφουν ένα φανάρι (1 \le D < L,\;1 \le R \le 100,\;1 \le G \le 100). D είναι η απόσταση του φαναριού από την αρχή του δρόμου. Τα R και G υποδηλώνουν πόσο καιρό είναι αναμμένα το κόκκινο και το πράσινο φως, αντίστοιχα.
Τα φανάρια θα ταξινομηθούν με αύξουσα σειρά βάσει του D. Κανένα φανάρι δεν θα μοιράζεται την ίδια θέση.

Έξοδος

Τυπώστε τον χρόνο (σε δευτερόλεπτα) που χρειάζεται ο Luka για να φτάσει στο τέλος του δρόμου.

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

input

2 10
3 5 5
5 2 2

output

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

Ο Luka θα περιμένει 2 δευτερόλεπτα στο πρώτο φανάρι. Μετά από αυτό θα φτάσει στο δεύτερο φανάρι ενώ είναι πράσινο και θα μπορεί να περάσει αμέσως.


input

4 30
7 13 5
14 4 4
15 3 10
25 1 1

output

36

Comments

There are no comments at the moment.