paizaでmod7占い(ランク S 相当)やってみた

mod7占い (paizaランク S 相当)
https://paiza.jp/learning/mod7

N個の数値から3つの数値を組み合わせた総和が7で割り切れるパターンを数える問題

5  -- N個の数値
10  -- 1番目の数値
20  -- 2番目の数値
30  -- 3番目の数値
40  -- 4番目の数値
50  -- 5番目の数値
import itertools

n = input()
cards = tuple([input() for i in xrange(n)])

print len([None for a,b,c in itertools.combinations(cards,3) if (a+b+c) % 7 == 0])

itertoolsモジュールに頼りきって内包表記でまとめて処理したコード
タイムアウトで落とされたけどこれ以上早くできる気がしない・・・

f:id:ria0130:20151124163032p:plain