結果
| 問題 | No.193 筒の数式 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-03-20 20:35:40 |
| 言語 | Kuin (KuinC++ v.2021.9.17) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 1,000 ms |
| コード長 | 817 bytes |
| 記録 | |
| コンパイル時間 | 2,143 ms |
| コンパイル使用メモリ | 147,184 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-09-16 11:57:05 |
| 合計ジャッジ時間 | 3,025 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 16 |
ソースコード
func main()
var s: []char :: cui@input()
var n: int :: ^s
var ans: int :: -10 ^ 10
for(1, n)
if(isNum(s[0]) & isNum(s[n - 1]))
do ans :: [ans, f(s)].max()
end if
do s :: s.sub(1, -1) ~ [s[0]]
end for
do cui@print("\{ans}\n")
func f(s: []char): int
var res: int :: 0
var ope: char :: '+'
var nextOpe: char
var flag: bool :: false
var num: int :: 0
for i(0, ^s - 1)
switch c(s[i])
case '+', '-'
do nextOpe :: c
do flag :: true
default
do num :* 10
do num :+ c $ int - '0' $ int
end switch
if(flag | i = ^s - 1)
do flag :: false
if(ope = '+')
do res :+ num
else
do res :- num
end if
do ope :: nextOpe
do num :: 0
end if
end for
ret res
end func
func isNum(c: char): bool
ret '0' <= c & c <= '9'
end func
end func