結果
問題 | No.193 筒の数式 |
ユーザー |
![]() |
提出日時 | 2020-12-08 03:17:06 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 26 ms / 1,000 ms |
コード長 | 822 bytes |
コンパイル時間 | 80 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-09-17 14:19:16 |
合計ジャッジ時間 | 1,329 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
S = input() def check(s): if s[0] in "+-": return False if s[-1] in "+-": return False for i in range(len(s) - 1): if s[i] in "-+" and s[i + 1] in "-+": return False return True res = -float("inf") for i in range(len(S)): T = S[i:] + S[:i] if not check(T): continue t = [] i = 0 r = 0 while i < len(T) and T[i].isdigit(): r *= 10 r += int(T[i]) i += 1 t.append(r) while i < len(T): if T[i] == "+": o = 1 else: o = -1 i += 1 r = 0 while i < len(T) and T[i].isdigit(): r *= 10 r += int(T[i]) i += 1 r = t[-1] + o * r t.pop(-1) t.append(r) res = max(res, t[0]) print(res)