結果

問題 No.1122 Plane Tickets
ユーザー iiljj
提出日時 2020-07-23 16:10:48
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
TLE  
実行時間 -
コード長 720 bytes
コンパイル時間 253 ms
コンパイル使用メモリ 12,800 KB
実行使用メモリ 13,760 KB
最終ジャッジ日時 2024-06-23 17:43:40
合計ジャッジ時間 4,642 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample TLE * 1 -- * 1
other -- * 55
権限があれば一括ダウンロードができます

ソースコード

diff #

import numpy as np
from scipy.optimize import linprog

u, v, w, x, y = map(int, input().split())

# 最小化する目的関数 = -x1 - x2 - x3 - x4 - x5
c = [-1, -1, -1, -1, -1]

# 下 2 行で, A [x1; x2; x3; x4; x5] <= b
A = [[1, 0, 0, 1, 1], [1, 1, 0, 0, 1], [1, 1, 1, 0, 0], [0, 1, 1, 1, 0], [0, 0, 1, 1, 1]]  # 決定変数の係数
b = [u, v, w, x, y]

# 値域制約
x1 = (0, None)
x2 = (0, None)
x3 = (0, None)
x4 = (0, None)
x5 = (0, None)

# 最小化問題として解く
ans = linprog(c, A_ub=A, b_ub=b, bounds=(x1, x2, x3, x4, x5), method='simplex')

# 最大化問題の解(最小化問題の解×(-1))
ans = -ans.fun
if ans > pow(2, 50):
    print(int(ans - 0.5))
else:
    print(int(ans + 0.001))
0