結果
問題 | No.193 筒の数式 |
ユーザー | tatt61880 |
提出日時 | 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