等紅綠燈 (APCS 2025-01 初級)

1.0s 256M

操場起跑線上有一個紅綠燈,綠燈為 \(a\) 秒、紅燈為 \(b\) 秒,依照「綠燈、紅燈」的順序循環(一開始是綠燈)。

有 \(n\) 個小朋友,從操場的起跑線一起騎腳踏車起跑,他們各自騎完一圈的時間為 \(t_1, t_2, \ldots, t_n\)。若騎到終點時正好是紅燈,必須等到紅燈結束、變為綠燈才可以停止騎車。求這 \(n\) 個小朋友總共需要等待多少秒的紅燈。

註:騎到終點時如果紅燈剛好開始,就要再等 \(b\) 秒。

輸入格式

第一行有兩個正整數 \(a\)、\(b\)。

第二行有一個正整數 \(n\)。

第三行有 \(n\) 個正整數,依序代表每個小朋友騎完一圈的時間。

限制

  • \(1 \le a, b \le 100\)
  • \(1 \le n \le 30\)
  • 每個 \(t_i\) 為正整數且不超過 \(1000\)

輸出格式

輸出這 \(n\) 個小朋友總共需要等待多少秒的紅燈。

評分說明

每一筆測試資料的執行時間限制均為 \(1\) 秒,依正確通過的測試資料筆數給分。其中:

  • 第 1 子題組(\(60\) 分):\(a = b = 10\) 且 \(n = 1\)。
  • 第 2 子題組(\(40\) 分):無限制。

範例輸入 1

10 10
1
14

範例輸出 1

6

(說明)循環為 \(20\) 秒,前 \(10\) 秒綠燈、後 \(10\) 秒紅燈。第 \(14\) 秒落在紅燈(第 \(11\)~\(20\) 秒),要等 \(20 - 14 = 6\) 秒。

範例輸入 2

4 3
3
12 16 25

範例輸出 2

5

(說明)循環 \(7\) 秒(綠 \(4\)、紅 \(3\))。\(12 \bmod 7 = 5 \ge 4\) 紅燈等 \(2\);\(16 \bmod 7 = 2 < 4\) 綠燈不等;\(25 \bmod 7 = 4 \ge 4\) 紅燈等 \(3\)。共 \(2 + 3 = 5\)。

題目來源

APCS 2025 年 1 月實作題第 1 題。

題目頁說明

快速鍵

主要功能

  • 範例測試 — 執行題目附帶的範例測資並自動比對預期輸出。
  • 自訂測試 — 自己貼 stdin 執行程式。可勾選「與預期輸出比對 (diff)」做行對行比對。
  • 模板 — 貼上你在個人資料設定的預設程式碼模板。
  • 協作 — 與其他同學共筆編輯這題的程式碼。
  • 自動草稿 — 編輯器內容每 1.5 秒自動存到瀏覽器(per 帳號 / 題目 / 語言)。
  • 提交 — 把程式碼交給 judge 評測,回傳 AC / WA / TLE 等結果。

限制

  • 程式碼最多 65,536 字元
  • 自訂測試 stdin 與預期輸出各最多 1 MB (約 100 萬字元)
  • 自訂測試與範例測試共用一個沙箱,每人約 3 秒 1 次 (範例測試 1 秒 1 次)
  • 自訂測試與範例測試都有 15 秒 牆鐘上限(正式評測仍依題目原本時限)
  • 互動題不提供自訂測試(無法模擬與 judge 互動)。
  • 提交評測本身沒有 rate limit,但同題短時間內多次提交會被視為刷分。