結果
問題 |
No.868 ハイパー部分和問題
|
ユーザー |
![]() |
提出日時 | 2024-04-15 11:15:49 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 2,543 ms / 7,000 ms |
コード長 | 547 bytes |
コンパイル時間 | 192 ms |
コンパイル使用メモリ | 82,180 KB |
実行使用メモリ | 78,620 KB |
最終ジャッジ日時 | 2024-10-05 06:24:08 |
合計ジャッジ時間 | 41,484 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 38 |
ソースコード
N,K=map(int,input().split()) A=list(map(int,input().split())) mod=(1<<61)-1 P=[0]*(K+1) P[0]=1 for a in A: if a: for k in range(K,a-1,-1): P[k]+=P[k-a] P[k]%=mod Q=int(input()) for q in range(Q): x,v=map(int,input().split()) x-=1 if A[x]: for k in range(A[x],K+1): P[k]-=P[k-A[x]] P[k]%=mod A[x]=v if A[x]: for k in range(K,A[x]-1,-1): P[k]+=P[k-A[x]] P[k]%=mod if P[K]: ans=1 else: ans=0 print(ans)