COCI '07 Contest 6 #2 Semafori

View as PDF

Submit solution

Points: 7
Time limit: 0.6s
Memory limit: 32M

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

Luka is driving his truck along a long straight road with many traffic lights. For each traffic light he knows how long the red and green lights will be on (the cycle repeating endlessly).

When Luka starts his journey, all traffic lights are red and just started their cycle. Luka moves one distance unit per second. When a traffic light is red, he stops and waits until it turns green.

Write a program that determines how much time Luka needs to reach the end of the road. The start of the road is at distance zero, the end at distance L.

Input Specification

The first line contains two integers N and L (1 \le N \le 100, 1 \le L \le 1000), the number of traffic lights on the road and the length of the road.

Each of the next N lines contains three integers D, R and G, describing one traffic light (1 \le D < L, 1
\le R \le 100, 1 \le G \le 100). D is the distance of the traffic light from the start of the road. R and G denote how long the red and green lights are on, respectively.

The traffic lights will be ordered in increasing order of D. No two traffic lights will share the same position.

Output Specification

Output the time (in seconds) Luka needs to reach the end of the road.

Sample Input 1

2 10
3 5 5
5 2 2

Sample Output 1


Sample Input 2

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

Sample Output 2


In the first example, Luka will wait 2 seconds at the first traffic light. After that he will reach the second traffic light while it is green and be able to pass through immediately.


  • 6
    sankeeth_ganeswaran  commented on March 17, 2019, 7:20 p.m.


    • 2
      Robloxian  commented on March 18, 2019, 8:55 a.m.

      gj dude <3

  • -1
    This_CKaps  commented on Dec. 9, 2018, 1:01 p.m.


  • 1
    This_CKaps  commented on Dec. 8, 2018, 5:53 p.m.

    How is it that the time limit is 1 second, yet there are solutions that run over a period of a second? I'm asking this since the judge keeps giving me TLE... Thank you.

    • 1
      AlanL  commented on Dec. 9, 2018, 11:30 a.m.

      Solutions show the total amount of time used. When these solutions you are talking about AC, this means that each of their cases run less than one second, but the total time goes over one second, which is fine.