#45074: Python 三行解


210039@sdhs.ntpc.edu.tw (人類)

學校 : 不指定學校
編號 : 275047
來源 : [203.204.210.131]
最後登入時間 :
2025-07-31 00:36:28

a, b = map(int, input().split())
n = int(input())
print(sum([(a+b)-i%(a+b) for i in list(map(int, input().split())) if i%(a+b) >= a]))
#45077: Re: Python 三行解


ericshen19555@gmail.com (暴力又被TLE)

學校 : 南光中學
編號 : 103121
來源 : [1.174.155.227]
最後登入時間 :
2025-10-10 14:32:50

a, b = map(int, input().split())
n = int(input())
print(sum([(a+b)-i%(a+b) for i in list(map(int, input().split())) if i%(a+b) >= a]))


首先map() sum()傳入的都是iterable 所以多括一層list()和[]只是在浪費時間和記憶體轉成list (但list的常數很好 有時這樣會比較快 但絕對比較耗記憶體)
然後題解不應該直接貼程式碼 應該敘述解題邏輯
最後 明明就可以一行 

print((lambda a, b, n: sum(a + b - i % (a + b) for i in map(int, input().split()) if i % (a + b) >= a))(*map(int, input().split()), input()))