結果
| 問題 |
No.10 +か×か
|
| コンテスト | |
| ユーザー |
biones
|
| 提出日時 | 2015-09-15 16:08:08 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 392 ms / 5,000 ms |
| コード長 | 991 bytes |
| コンパイル時間 | 309 ms |
| コンパイル使用メモリ | 82,048 KB |
| 実行使用メモリ | 116,864 KB |
| 最終ジャッジ日時 | 2024-12-14 15:31:25 |
| 合計ジャッジ時間 | 2,253 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 12 |
ソースコード
def f(k):
global nums,sum,flags,dp
if sum>total:
return False
if sum==total and len(flags)==(N-1):
s=""
for fl in flags:
s+=fl
print(s)
exit()
if k>=N-1:
return
'''
print(dp)
print(sum)
input()
'''
if dp[k][sum]==False:
#dp[k].append(sum)
dp[k][sum]=True
sum+=nums[k+1]
flags.append("+")
f(k+1)
flags.pop()
sum-=nums[k+1]
hoge=sum
sum=sum*nums[k+1]
flags.append("*")
f(k+1)
flags.pop()
sum=hoge
#print(flags)
'''
N=4
total=31
nums=list(map(int,"1 2 10 1".split(" ")))
'''
N=int(input())
total=int(input())
nums=list(map(int,input().split(" ")))
flags=[]
dp=[[False for j in range(total+1)]for i in range(N+1)]
'''
import numpy as np
asum=[0]*N
aprod=[0]*N
for i in range(len(nums)):
asum[i]=np.sum(nums[i::])
aprod[i]=np.product(nums[i::])
'''
sum=nums[0]
f(0)
biones