結果

問題 No.1715 Dinner 2
ユーザー noetherian_ring
提出日時 2021-10-22 21:57:46
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,316 bytes
コンパイル時間 219 ms
コンパイル使用メモリ 81,852 KB
実行使用メモリ 76,084 KB
最終ジャッジ日時 2024-09-23 05:24:17
合計ジャッジ時間 3,422 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 35 WA * 3
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
import os

sys.setrecursionlimit(100000)
is_local = "TERM_PROGRAM" in os.environ
input = sys.stdin.readline
INF = float('inf')
MOD = 998244353

def debug(*args, **kwargs):
    if is_local:
        print(*args, **kwargs)
def I(): return input().rstrip()
def IS(): return input().split()
def II(): return int(input())
def IIS(): return map(int, input().split())
def LIIS(): return list(map(int, input().split()))

def main():
    n, d = IIS()
    loss = []
    gain = []
    for _ in range(n):
        p, q = IIS()
        loss.append(p)
        gain.append(q)

    m = -INF
    am = None
    amp = None
    for i in range(n):
        for j in range(n):
            if i == j:
                continue
            p0 = -loss[i]
            p1 = -loss[i] + gain[i] - loss[j]
            dx = -loss[i] + gain[i] -loss[j] + gain[j]
            if dx < 0:
                p0 = p0 + ((d+1)//2 - 1) * dx
                p1 = p1 + (d//2 - 1) * dx
                # if d % 2 == 0:
                #     p1 = p1 + (d//2 - 1) * dx
                # else:
                #     p1 = p1 + max(0, (d//2 - 2)) * dx

            if min(p0, p1) > m:
                m = min(p0, p1)
                amp = (p0, p1)
                am = (i, j)
    print(m)
    debug(am)
    debug(amp)


if __name__ == "__main__":
    main()
0