結果

問題 No.3288 Sloppy Land Grading
ユーザー pitP
提出日時 2025-10-03 21:45:21
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 609 ms / 2,000 ms
コード長 824 bytes
コンパイル時間 387 ms
コンパイル使用メモリ 82,616 KB
実行使用メモリ 78,436 KB
最終ジャッジ日時 2025-10-03 21:45:30
合計ジャッジ時間 7,702 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 16
権限があれば一括ダウンロードができます

ソースコード

diff #

T = int(input())
for _ in range(T):
    A, B, C, x, y, z = map(int, input().split())
    g = [(A, x), (B, y), (C, z)]
    g.sort()

    A, x = g[0]
    B, y = g[1]
    C, z = g[2]

    def f(t):
        return abs(A - t) * x + abs(B - t) * y + abs(C - t) * z

    ans = 1 << 60

    # t >= B
    l = B; r = C
    while abs(l - r) > 3:
        l1 = (2 * l + r) // 3
        r1 = (l + 2 * r) // 3

        if f(l1) > f(r1):
            l = l1
        else:
            r = r1
    
    for t in range(l - 5, r + 5):
        ans = min(ans, f(t))

    # t < B
    r = B; l = A
    while abs(l - r) > 3:
        l1 = (2 * l + r) // 3
        r1 = (l + 2 * r) // 3

        if f(l1) > f(r1):
            l = l1
        else:
            r = r1
    
    for t in range(l - 5, r + 5):
        ans = min(ans, f(t))
    
    print(ans)
0