結果
問題 |
No.859 路線A、路線B、路線C
|
ユーザー |
![]() |
提出日時 | 2023-06-19 12:28:55 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 41 ms / 1,000 ms |
コード長 | 554 bytes |
コンパイル時間 | 182 ms |
コンパイル使用メモリ | 82,300 KB |
実行使用メモリ | 53,352 KB |
最終ジャッジ日時 | 2024-06-27 00:41:27 |
合計ジャッジ時間 | 1,565 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 |
ソースコード
def calc(S, t): if S == "A": return t - 1, X[0] - t + 1 elif S == "B": return t - 1, X[1] - t + 1 else: return t - 1, X[2] - t + 1 X = list(map(int, input().split())) S0, t0 = input().split() S1, t1 = input().split() t0, t1 = int(t0), int(t1) ds1, dsN = calc(S0, t0) dg1, dgN = calc(S1, t1) ans = 10 ** 18 if S0 == S1: ans = abs(t0 - t1) d = min(X) ans = min(ans, ds1 + dg1 + 1) ans = min(ans, dsN + dgN - 1) ans = min(ans, ds1 + d + dgN) ans = min(ans, dsN + d + dg1) print(ans) # print(ans, ds1, dg1, dsN, dgN)