結果

問題 No.1623 三角形の制作
ユーザー dango
提出日時 2023-07-15 19:21:02
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 289 ms / 2,000 ms
コード長 684 bytes
コンパイル時間 160 ms
コンパイル使用メモリ 82,428 KB
実行使用メモリ 141,532 KB
最終ジャッジ日時 2024-09-17 04:06:38
合計ジャッジ時間 5,517 ms
ジャッジサーバーID
(参考情報)
judge6 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

def main():
    n = int(input())
    r = list(map(int, input().split()))
    g = list(map(int, input().split()))
    b = list(map(int, input().split()))
    rn = [0] * 3001
    gn = [0] * 3001
    bn = [0] * 3001
    for i in range(n):
        rn[r[i]] += 1
    for i in range(n):
        gn[g[i]] += 1
    for i in range(n):
        bn[b[i]] += 1
    cumR = [0] * 3001
    for r in range(1, 3001):
        cumR[r] = cumR[r - 1] + rn[r]
    ans = 0
    for g in range(1, 3001):
        if gn[g] != 0:
            for b in range(1, 3001):
                if bn[b] != 0:
                    ans += gn[g] * bn[b] * (cumR[min(g + b - 1, 3000)] - cumR[max(g, b) - 1])
    print(ans)
main()
0