結果
| 問題 |
No.10 +か×か
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-04-16 20:40:22 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 781 bytes |
| コンパイル時間 | 96 ms |
| コンパイル使用メモリ | 12,416 KB |
| 実行使用メモリ | 17,444 KB |
| 最終ジャッジ日時 | 2024-10-02 08:52:16 |
| 合計ジャッジ時間 | 6,847 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 3 WA * 1 TLE * 1 -- * 7 |
ソースコード
import sys
sys.setrecursionlimit(10**6)
N = int(input())
Total = int(input())
A_list = list(map(int, input().split()))
A_list = A_list[::-1]
dp_dict = {}
def solve(i, j):
if (i, j) in dp_dict:
return dp_dict[i, j]
if i == N-2:
if j/A_list[i] == A_list[-1]:
return "*"
elif j-A_list[i] == A_list[-1]:
return "+"
else:
return None
a = None
if j-A_list[i] >= 0:
a = solve(i+1, j-A_list[i])
b = None
if j % A_list[i] == 0:
b = solve(i+1, j/A_list[i])
if a == None and b == None:
return None
if a == None:
dp_dict[(i, j)] = ("*"+b)
return "*"+b
else:
dp_dict[(i, j)] = ("*"+a)
return "+"+a
print(solve(0, Total)[::-1])