結果

問題 No.596 郵便配達
ユーザー lam6er
提出日時 2025-04-16 00:28:33
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,236 bytes
コンパイル時間 392 ms
コンパイル使用メモリ 82,500 KB
実行使用メモリ 183,000 KB
最終ジャッジ日時 2025-04-16 00:29:54
合計ジャッジ時間 3,869 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 13 WA * 10
権限があれば一括ダウンロードができます

ソースコード

diff #

def main():
    import sys
    input = sys.stdin.read().split()
    ptr = 0
    N = int(input[ptr])
    ptr += 1
    M = int(input[ptr])
    ptr += 1

    x_min = float('inf')
    x_max = -float('inf')
    y_min = float('inf')
    y_max = -float('inf')

    for _ in range(M):
        xi = int(input[ptr])
        ptr += 1
        di = int(input[ptr])
        ptr += 1
        ys = list(map(int, input[ptr:ptr + di]))
        ptr += di

        # Update x_min and x_max
        if xi < x_min:
            x_min = xi
        if xi > x_max:
            x_max = xi

        # Update y_min and y_max
        for y in ys:
            if y < y_min:
                y_min = y
            if y > y_max:
                y_max = y

    x_span = x_max - x_min if x_max != -float('inf') and x_min != float('inf') else 0
    y_span = y_max - y_min if y_max != -float('inf') and y_min != float('inf') else 0

    # Calculate possible connection options
    options = [
        abs(x_max - y_min),
        abs(x_max - y_max),
        abs(x_min - y_min),
        abs(x_min - y_max)
    ]
    min_option = min(options) if M > 0 and len(options) > 0 else 0

    total = x_span + y_span + min_option
    print(total)

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