Waiting for the Traffic Light (APCS 2025-01 Beginner)

Points 100 1.0s 256M

At the starting line of a playground there is a traffic light: green for \(a\) seconds, then red for \(b\) seconds, cycling in the order green, red (starting with green).

There are \(n\) children who start cycling together from the starting line; their lap times are \(t_1, t_2, \ldots, t_n\). If a child reaches the finish during a red light, they must wait until the red light ends and turns green before stopping. Find the total number of red-light seconds the \(n\) children must wait.

Note: if the red light begins exactly when a child arrives, they must wait another \(b\) seconds.

Input

The first line contains two positive integers \(a\) and \(b\).

The second line contains a positive integer \(n\).

The third line contains \(n\) positive integers, the lap times of the children.

Constraints

  • \(1 \le a, b \le 100\)
  • \(1 \le n \le 30\)
  • Each \(t_i\) is a positive integer at most \(1000\)

Output

Output the total number of red-light seconds the \(n\) children must wait.

Scoring

The time limit for each test case is \(1\) second; your score is the sum over the test cases you pass. The subtasks are:

  • Subtask 1 (\(60\) points): \(a = b = 10\) and \(n = 1\).
  • Subtask 2 (\(40\) points): no constraints.

Sample Input 1

10 10
1
14

Sample Output 1

6

Sample Input 2

4 3
3
12 16 25

Sample Output 2

5

Source

APCS programming exam, January 2025, Problem 1.

Problem page help

Keyboard shortcuts

Main features

  • Sample tests — Runs the sample cases bundled with the problem and auto-compares against the expected output.
  • Custom test — Run your code with your own stdin. Optionally tick the "Compare with expected (diff)" box to verify against expected output line-by-line.
  • Template — Paste the default code template you set on your profile page.
  • Collab — Edit this problem together with classmates in real time.
  • Auto-draft — Editor contents auto-save to your browser every 1.5 seconds (per account / problem / language).
  • Submit — Send your code to the judge for grading; returns AC / WA / TLE etc.

Limits

  • Source code: at most 65,536 characters
  • Custom test stdin and expected output: at most 1 MB each (≈1 million characters)
  • Custom test and sample test share the sandbox; about 1 request per 3 s per user (sample test: 1 per 1 s)
  • Custom test and sample test both have a 15 second wall-clock cap (the official judge still uses the problem time limit)
  • Interactive problems do not offer custom test (cannot simulate interaction with the judge).
  • Submitting has no rate limit, but rapid repeated submissions on the same problem are treated as score farming.