結果

問題 No.461 三角形はいくつ?
ユーザー ヒッキープログラミングするスレ GitHub ガチ
提出日時 2016-12-12 04:07:25
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 637 bytes
コンパイル時間 241 ms
コンパイル使用メモリ 82,176 KB
実行使用メモリ 182,976 KB
最終ジャッジ日時 2024-11-29 14:33:57
合計ジャッジ時間 91,151 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 39 TLE * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

from fractions import Fraction
from bisect import bisect_left

one = Fraction(1)

n = int(input())

ps = [[one], [one], [one]]

for _ in range(n):
    p, a, b = map(int, input().split())
    ps[p].append(Fraction(a, a + b))

p0, p1, p2 = sorted(map(sorted, ps), key=len)

p1len = len(p1)
p2len = len(p2)

ans = 0
for x in p0:
    for c in range(bisect_left(p1, one - x) , p1len):
        y = p1[c]
        i = bisect_left(p2, one - min(x, y))
        ans += p2len - i - 1
        if x != one - y:
            r = (one - x) + (one - y)
            j = bisect_left(p2, r, i)
            if p2[j] != r:
                ans += 1

print(ans)
0