結果
問題 |
No.1623 三角形の制作
|
ユーザー |
![]() |
提出日時 | 2021-07-24 00:06:24 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 168 ms / 2,000 ms |
コード長 | 671 bytes |
コンパイル時間 | 320 ms |
コンパイル使用メモリ | 81,744 KB |
実行使用メモリ | 135,840 KB |
最終ジャッジ日時 | 2024-07-18 23:56:21 |
合計ジャッジ時間 | 3,624 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 19 |
ソースコード
from itertools import accumulate N = int(input()) R = list(map(int, input().split())) G = list(map(int, input().split())) B = list(map(int, input().split())) rnum = [0]*(3*10**3+1) gnum = [0]*(3*10**3+1) bnum = [0]*(3*10**3+1) for i in range(N): # rdd[R[i]] += 1 # gdd[G[i]] += 1 rnum[R[i]] += 1 gnum[G[i]] += 1 bnum[B[i]] += 1 bnum_cum = list(accumulate(bnum)) # print(bnum_cum) ans = 0 maxR = max(R) for i in range(1, maxR+1): for j in range(1, i+1): add = rnum[i]*gnum[j]*(bnum_cum[i] - bnum_cum[i-j]) #print(rnum[i], bnum[j], i, j, bnum_cum[i], bnum_cum[i-j], add) #print(i, j, add) ans += add print(ans)