結果
問題 | No.2927 Reverse Polish Equation |
ユーザー |
![]() |
提出日時 | 2024-10-17 20:47:32 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,025 bytes |
コンパイル時間 | 524 ms |
コンパイル使用メモリ | 82,384 KB |
実行使用メモリ | 123,684 KB |
最終ジャッジ日時 | 2024-10-17 20:47:44 |
合計ジャッジ時間 | 11,267 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 11 WA * 32 |
ソースコード
Q,Y = map(int, input().split())S = list(input().split())def Reverse_Polish_Notation(S, x):stack = list()N = len(S)for i in range(N):if S[i] == "+":val = 0for i in range(2):v = stack.pop()val += vstack.append(val)elif S[i] == "min":m = stack.pop()n = stack.pop()val = min(m, n)stack.append(val)elif S[i] == "max":m = stack.pop()n = stack.pop()val = max(m, n)stack.append(val)else:if S[i]=="X":stack.append(x)else:stack.append(int(S[i]))#print(stack)return stack[-1]==Yif Reverse_Polish_Notation(S,0):print(0)exit()l = -1r = 10**13while r-l>1:mid = (r+l)//2if Reverse_Polish_Notation(S, mid):l = midelse:r = midif Reverse_Polish_Notation(S,l):print(l)else:print(-1)