結果
| 問題 |
No.708 (+ー)の式
|
| コンテスト | |
| ユーザー |
ikd
|
| 提出日時 | 2018-07-16 09:31:19 |
| 言語 | Nim (2.2.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 558 bytes |
| コンパイル時間 | 2,962 ms |
| コンパイル使用メモリ | 66,736 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-01 03:12:21 |
| 合計ジャッジ時間 | 3,530 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 12 |
コンパイルメッセージ
/home/judge/data/code/Main.nim(1, 28) Warning: Use the new 'sugar' module instead; future is deprecated [Deprecated] /home/judge/data/code/Main.nim(1, 36) Warning: imported and not used: 'algorithm' [UnusedImport] /home/judge/data/code/Main.nim(1, 18) Warning: imported and not used: 'sequtils' [UnusedImport] /home/judge/data/code/Main.nim(1, 28) Warning: imported and not used: 'future' [UnusedImport]
ソースコード
import strutils, sequtils, future, algorithm
var
s=stdin.readLine
res=0
ng=false
for i in countdown(s.len-1, 0):
if s[i]==')':
ng=true
elif s[i]=='(':
var
ret=s[i+1].ord-'0'.ord
j=i+2
while s[j]!=')':
if s[j]=='+':
ret+=s[j+1].ord-'0'.ord
elif s[j]=='-':
ret-=s[j+1].ord-'0'.ord
j+=1
if i-1>=0 and s[i-1]=='-':
ret= -ret
res+=ret
ng=false
if s[i].isDigit and ng==false:
var ret=s[i].ord-'0'.ord
if i-1>=0 and s[i-1]=='-':
ret= -ret
res+=ret
echo res
ikd