結果
| 問題 |
No.859 路線A、路線B、路線C
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-07-10 16:37:51 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 38 ms / 1,000 ms |
| コード長 | 859 bytes |
| コンパイル時間 | 300 ms |
| コンパイル使用メモリ | 82,456 KB |
| 実行使用メモリ | 53,556 KB |
| 最終ジャッジ日時 | 2025-01-03 12:44:34 |
| 合計ジャッジ時間 | 1,626 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 12 |
ソースコード
x, y, z = map(int, input().split())
ss = input().split()
tt = input().split()
ss[1] = int(ss[1])
tt[1] = int(tt[1])
if ss[0] == tt[0]:
if ss[1] > tt[1]:
ss, tt = tt, ss
ans = tt[1] - ss[1]
tmp = ss[1] - tt[1]
if ss[0] == "A":
tmp += x + min(y, z)
elif ss[0] == "B":
tmp += y + min(x, z)
else:
tmp += z + min(x, y)
ans = min(ans, tmp)
else:
ans = ss[1] + tt[1] - 1
for a in (ss, tt):
if a[0] == "A":
a.append(x - a[1])
elif a[0] == "B":
a.append(y - a[1])
else:
a.append(z - a[1])
ans = min(ans, ss[2] + tt[2] + 1)
tmp = min(ss[1] + tt[2], ss[2] + tt[1])
if "A" not in [ss[0], tt[0]]:
tmp += x
elif "B" not in [ss[0], tt[0]]:
tmp += y
else:
tmp += z
ans = min(ans, tmp)
print(ans)