#対象
これは paizaランク S 相当の練習問題としてここにあった問題の解答を記録するものであり、初心者向けです。(上級者の方のアドバイスは頂きたいです)
#概要
入力値ケース9(大規模データ入力時)にてタイムアウトを吐かれたのでリファクタリングを行いたい。
#コード
def solve():
N = int(input())
Deck = [int(input()) for _ in range(N)]
Ans = 0
for x in range(0,N-2):
for y in range(x+1, N):
for z in range(y+1, N):
Sum_deck = Deck[x] + Deck[y] + Deck[z]
if Sum_deck % 7 == 0:
Ans += 1
print(Ans)
if __name__ == '__main__':
solve()
#原因?
逐一計算を行っているため、計算回数が膨らんでいる。
同じX,Y条件下では以前のように重複分の再利用をするべきか。
と思ったけど違うなこれ。全部のmod7を計算して、数学的な組み合わせで殴ったら終わるのでは?