CCC '17 J4 - Favourite Times

View as PDF

Submit solution

Points: 5 (partial)
Time limit: 1.0s
Memory limit: 256M

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

Wendy has an LED clock radio, which is a 12-hour clock, displaying times from \tt 12:00 to \tt 11:59. The hours do not have leading zeros but minutes may have leading zeros, such as \tt 2:07 or \tt 11:03.

When looking at her LED clock radio, Wendy likes to spot arithmetic sequences in the digits. For example, the times \tt 12:34 and \tt 2:46 are some of her favourite times, since the digits form an arithmetic sequence.

A sequence of digits is an arithmetic sequence if each digit after the first digit is obtained by adding a constant common difference. For example, 1,2,3,4 is an arithmetic sequence with a common difference of 1, and 2,4,6 is an arithmetic sequence with a common difference of 2.

Suppose that we start looking at the clock at noon (that is, when it reads \tt 12:00) and watch the clock for some number of minutes. How many instances are there such that the time displayed on the clock has the property that the digits form an arithmetic sequence?

Input Specification

The input contains one integer D\ (0 \leq D \leq 1\,000\,000\,000), which represents the duration that the clock is observed.

For 4 of the 15 available marks, D \leq 10\,000.

Output Specification

Output the number of times that the clock displays a time where the digits form an arithmetic sequence starting from noon (\tt 12:00) and ending after D minutes have passed, possibly including the ending time.

Sample Input 1


Sample Output 1


Explanation for Sample Output 1

Between \tt 12:00 and \tt 12:34, there is only the time \tt 12:34 for which the digits form an arithmetic sequence.

Sample Input 2


Sample Output 2


Explanation for Sample Output 2

Between \tt 12:00 and \tt 3:00, the following times form arithmetic sequences in their digits (with the difference shown):

  • \tt 12:34 (difference 1),
  • \tt 1:11 (difference 0),
  • \tt 1:23 (difference 1),
  • \tt 1:35 (difference 2),
  • \tt 1:47 (difference 3),
  • \tt 1:59 (difference 4),
  • \tt 2:10 (difference -1),
  • \tt 2:22 (difference 0),
  • \tt 2:34 (difference 1),
  • \tt 2:46 (difference 2),
  • \tt 2:58 (difference 3).


  • -2
    jerry0101  commented on Feb. 27, 2020, 10:02 a.m.

    help how can i simplify my code 4 this question

  • 0
    herro  commented on Feb. 10, 2020, 4:58 p.m.

    Wow! 2017 was filled with Math questions! Interesting.

  • 0
    singbeilii  commented on Nov. 10, 2019, 11:52 p.m.

    (hint): List all the times(I actually get 31 possibilities)

  • -6
    BLYAT  commented on May 24, 2019, 8:51 p.m.

    This comment is hidden due to too much negative feedback. Click here to view it.

    • 4
      Plasmatic  commented on May 25, 2019, 1:13 a.m.

      D has a max value of 1 billion. Looping through all values is too slow

  • 12
    Dordor1218  commented on June 23, 2018, 2:46 p.m. edited

    The perfect way to describe this question: observing a clock for up to 1901 years. Hmmm... Not bad ill just see how many times my favourite number comes on! Oh btw my favourite number are only patterns how sad

  • -7
    gabe  commented on April 9, 2018, 4:55 p.m.

    This comment is hidden due to too much negative feedback. Click here to view it.

  • 4
    TimothyW553  commented on Sept. 1, 2017, 8:35 p.m.

    No j5?