結果

問題 No.461 三角形はいくつ?
ユーザー ヒッキープログラミングするスレ GitHub ガチヒッキープログラミングするスレ 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
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 162 ms
93,824 KB
testcase_01 AC 155 ms
88,704 KB
testcase_02 AC 155 ms
88,448 KB
testcase_03 AC 151 ms
88,576 KB
testcase_04 AC 239 ms
89,472 KB
testcase_05 AC 3,597 ms
91,008 KB
testcase_06 AC 2,194 ms
90,752 KB
testcase_07 AC 2,453 ms
90,624 KB
testcase_08 AC 1,741 ms
90,240 KB
testcase_09 AC 217 ms
89,856 KB
testcase_10 AC 734 ms
90,624 KB
testcase_11 AC 2,779 ms
91,776 KB
testcase_12 AC 1,369 ms
91,136 KB
testcase_13 AC 4,146 ms
91,264 KB
testcase_14 AC 3,866 ms
91,264 KB
testcase_15 AC 4,086 ms
91,520 KB
testcase_16 AC 294 ms
90,240 KB
testcase_17 AC 294 ms
90,112 KB
testcase_18 TLE -
testcase_19 TLE -
testcase_20 AC 3,925 ms
91,392 KB
testcase_21 AC 4,110 ms
91,520 KB
testcase_22 AC 4,038 ms
91,648 KB
testcase_23 AC 913 ms
91,264 KB
testcase_24 AC 859 ms
91,776 KB
testcase_25 AC 263 ms
90,112 KB
testcase_26 AC 268 ms
90,240 KB
testcase_27 AC 262 ms
90,112 KB
testcase_28 AC 263 ms
90,240 KB
testcase_29 AC 1,894 ms
91,136 KB
testcase_30 AC 1,048 ms
90,880 KB
testcase_31 AC 3,427 ms
91,264 KB
testcase_32 AC 4,401 ms
91,136 KB
testcase_33 AC 219 ms
89,984 KB
testcase_34 AC 219 ms
89,984 KB
testcase_35 AC 215 ms
89,984 KB
testcase_36 AC 1,489 ms
91,392 KB
testcase_37 AC 1,440 ms
91,392 KB
testcase_38 AC 1,498 ms
91,648 KB
testcase_39 AC 1,363 ms
91,776 KB
testcase_40 AC 1,458 ms
91,136 KB
testcase_41 AC 1,536 ms
91,648 KB
testcase_42 AC 4,426 ms
92,416 KB
testcase_43 AC 4,658 ms
92,416 KB
testcase_44 AC 4,294 ms
182,976 KB
権限があれば一括ダウンロードができます

ソースコード

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