運動積分 (APCS 2026-10 中級)
2.0s 256M學校舉辦為期 \(K\) 天的運動積分賽,共有 \(N\) 位選手參加,選手編號 \(1\)~\(N\)。每一天都會記錄每位選手步行、跑步、騎自行車各花了幾分鐘。
選手每一天的日積分是這樣算的:步行每滿 \(10\) 分鐘得 \(X\) 分、跑步每滿 \(10\) 分鐘得 \(Y\) 分、騎自行車每滿 \(10\) 分鐘得 \(Z\) 分,三項加起來。不滿 \(10\) 分鐘的部分不得分,例如步行 \(25\) 分鐘只算滿 \(2\) 次 \(10\) 分鐘,得 \(2X\) 分。
每一天結束時,還有加分和扣分:
- 當天日積分最高的選手加 \(A\) 分,當天日積分最低的選手扣 \(B\) 分。
- 從第 \(2\) 天開始,日積分大於自己前一天日積分的選手,再加 \(S\) 分。
選手的總積分是他 \(K\) 天日積分的總和,加上所有加分、減去所有扣分。請找出總積分最高的選手,輸出他的編號和總積分。
題目保證同一天所有選手的日積分都不一樣,所有選手的總積分也都不一樣。
輸入格式
第一行有兩個正整數 \(N\) 與 \(K\),代表選手人數與比賽天數。
第二行有六個正整數 \(X\)、\(Y\)、\(Z\)、\(A\)、\(B\)、\(S\)。\(X\)、\(Y\)、\(Z\) 依序是步行、跑步、騎自行車每滿 \(10\) 分鐘得到的分數;\(A\)、\(B\)、\(S\) 依序是當天最高的加分、當天最低的扣分、日積分大於前一天的加分。
接下來有 \(N\) 行,第 \(i\) 行是第 \(i\) 位選手的紀錄,共有 \(3K\) 個整數。這些整數每 \(3\) 個一組,依序是第 \(1\) 天、第 \(2\) 天、……、第 \(K\) 天的紀錄;每一組的 \(3\) 個整數依序是那一天步行、跑步、騎自行車的分鐘數。
同一行的數字之間以一個空白隔開。
限制
- \(2 \le N \le 20\)
- \(1 \le K \le 20\)
- \(1 \le X, Y, Z, A, B, S \le 10\)
- 每個分鐘數都是 \(0\) 到 \(120\) 之間的整數(含)。
- 同一天所有選手的日積分互不相同;所有選手的總積分互不相同。
輸出格式
輸出一行兩個整數:總積分最高的選手編號,以及他的總積分,中間以一個空白隔開。
評分說明
每一筆測試資料的執行時間限制均為 \(2\) 秒,依正確通過的測試資料筆數給分。
| 子題 | 分數 | 額外限制 |
|---|---|---|
| 1 | 60 | \(N = 2\) |
| 2 | 40 | 無額外限制 |
範例輸入 1
2 3
2 5 3 4 2 3
25 10 0 40 0 19 15 30 5
0 34 12 30 9 0 20 25 30
範例輸出 1
2 56
範例解釋 1
步行、跑步、騎自行車每滿 \(10\) 分鐘分別得 \(2\)、\(5\)、\(3\) 分;每天最高的加 \(4\) 分、最低的扣 \(2\) 分,日積分大於前一天的加 \(3\) 分。
輸入的第 \(3\) 行是選手 \(1\) 的紀錄,每 \(3\) 個數一組:25 10 0 是第 \(1\) 天、40 0 19 是第 \(2\) 天、15 30 5 是第 \(3\) 天;第 \(4\) 行是選手 \(2\) 的紀錄。
每位選手每一天的日積分如下,括號裡依序是步行、跑步、騎自行車各滿幾次 \(10\) 分鐘。例如選手 \(1\) 第 \(1\) 天步行 \(25\) 分鐘、跑步 \(10\) 分鐘、騎自行車 \(0\) 分鐘,分別滿 \(2\)、\(1\)、\(0\) 次,日積分是 \(2 \times 2 + 1 \times 5 + 0 \times 3 = 9\)。
| 選手 | 第 1 天 | 第 2 天 | 第 3 天 |
|---|---|---|---|
| 1 | 9(2、1、0) | 11(4、0、1) | 17(1、3、0) |
| 2 | 18(0、3、1) | 6(3、0、0) | 23(2、2、3) |
每一天的加分和扣分:
| 選手 | 第 1 天 | 第 2 天 | 第 3 天 |
|---|---|---|---|
| 1 | 最低 \(-2\) | 最高 \(+4\)、進步 \(+3\) | 最低 \(-2\)、進步 \(+3\) |
| 2 | 最高 \(+4\) | 最低 \(-2\) | 最高 \(+4\)、進步 \(+3\) |
第 \(1\) 天沒有前一天可以比,不會有進步的加分;選手 \(2\) 第 \(2\) 天的日積分 \(6\) 比第 \(1\) 天的 \(18\) 少,沒有進步的加分。
- 選手 \(1\) 的總積分:\(9 + 11 + 17 - 2 + 4 + 3 - 2 + 3 = 43\)
- 選手 \(2\) 的總積分:\(18 + 6 + 23 + 4 - 2 + 4 + 3 = 56\)
總積分最高的是選手 \(2\),所以輸出 2 56。
範例輸入 2
4 3
3 2 4 6 3 5
45 27 20 20 5 15 35 5 20
55 50 20 18 50 55 10 34 12
40 0 10 34 18 40 20 45 45
30 0 15 60 5 0 34 18 12
範例輸出 2
3 89
範例解釋 2
步行、跑步、騎自行車每滿 \(10\) 分鐘分別得 \(3\)、\(2\)、\(4\) 分;每天最高的加 \(6\) 分、最低的扣 \(3\) 分,日積分大於前一天的加 \(5\) 分。
每位選手每一天的日積分(括號裡依序是步行、跑步、騎自行車各滿幾次 \(10\) 分鐘):
| 選手 | 第 1 天 | 第 2 天 | 第 3 天 |
|---|---|---|---|
| 1 | 24(4、2、2) | 10(2、0、1) | 17(3、0、2) |
| 2 | 33(5、5、2) | 33(1、5、5) | 13(1、3、1) |
| 3 | 16(4、0、1) | 27(3、1、4) | 30(2、4、4) |
| 4 | 13(3、0、1) | 18(6、0、0) | 15(3、1、1) |
每一天的加分和扣分(— 表示沒有):
| 選手 | 第 1 天 | 第 2 天 | 第 3 天 |
|---|---|---|---|
| 1 | — | 最低 \(-3\) | 進步 \(+5\) |
| 2 | 最高 \(+6\) | 最高 \(+6\) | 最低 \(-3\) |
| 3 | — | 進步 \(+5\) | 最高 \(+6\)、進步 \(+5\) |
| 4 | 最低 \(-3\) | 進步 \(+5\) | — |
選手 \(2\) 第 \(2\) 天的日積分和第 \(1\) 天一樣是 \(33\),沒有大於前一天,所以沒有進步的加分。
- 選手 \(1\) 的總積分:\(24 + 10 + 17 - 3 + 5 = 53\)
- 選手 \(2\) 的總積分:\(33 + 33 + 13 + 6 + 6 - 3 = 88\)
- 選手 \(3\) 的總積分:\(16 + 27 + 30 + 5 + 6 + 5 = 89\)
- 選手 \(4\) 的總積分:\(13 + 18 + 15 - 3 + 5 = 48\)
選手 \(2\) 的日積分總和 \(79\) 最高,選手 \(3\) 只有 \(73\);但選手 \(3\) 的加分扣分合計 \(+16\),比選手 \(2\) 的 \(+9\) 多,總積分 \(89\) 比選手 \(2\) 的 \(88\) 多 \(1\) 分,所以輸出 3 89。
題目來源
APCS 2026 年 10 月中級實作題第 3 題。
官方未公布題本,題敘依考生考後回憶整理,細節可能與正式試題有出入。