結果
| 問題 |
No.10 +か×か
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-10-06 11:03:27 |
| 言語 | Python2 (2.7.18) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 541 bytes |
| コンパイル時間 | 160 ms |
| コンパイル使用メモリ | 6,912 KB |
| 実行使用メモリ | 12,544 KB |
| 最終ジャッジ日時 | 2024-11-21 18:10:23 |
| 合計ジャッジ時間 | 13,952 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 7 WA * 3 TLE * 2 |
ソースコード
N = input()
total = input()
A = map(int, raw_input().split())
limits = [0 for _ in xrange(N)]
limits[N-1] = total-A[N-1]
for i in xrange(N-2, -1, -1):
limits[i] = limits[i+1]-A[i]
mem = {}
def rec(p, acm, ops):
if p >= N:
return ops if acm == total else False
if acm > limits[p]:
return False
a = rec(p+1, acm+A[p], ops+'+')
if a:
mem[(p, acm)] = a
return a
a = rec(p+1, acm*A[p], ops+'*')
if a:
mem[(p, acm)] = a
return a
return False
print rec(1, A[0], '')