結果
| 問題 |
No.193 筒の数式
|
| コンテスト | |
| ユーザー |
🍡yurahuna
|
| 提出日時 | 2016-05-04 18:40:16 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 35 ms / 1,000 ms |
| コード長 | 678 bytes |
| コンパイル時間 | 152 ms |
| コンパイル使用メモリ | 82,332 KB |
| 実行使用メモリ | 54,088 KB |
| 最終ジャッジ日時 | 2024-10-05 06:37:31 |
| 合計ジャッジ時間 | 1,572 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 16 |
ソースコード
def calc(s):
s = "#" + s
t = ""
a = []
op = []
for i in range(1, len(s)):
# 数字の直後の符号のみop
if s[i] in ('+', '-') and s[i - 1].isdigit():
op.append(s[i])
a.append(t)
t = ""
else:
t += s[i]
if t != "":
a.append(t)
a = list(map(int, a))
ans = a[0]
for i in range(len(op)):
if op[i] == '+':
ans += a[i + 1]
else:
ans -= a[i + 1]
return ans
s = input()
N = len(s)
s += s
ans = -10**15
for i in range(N):
if s[i].isdigit() and s[i+N-1].isdigit():
ans = max(ans, calc(s[i:i+N]))
print(ans)
🍡yurahuna