結果
問題 | No.1861 Required Number |
ユーザー |
|
提出日時 | 2022-03-04 22:31:54 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
|
実行時間 | - |
コード長 | 808 bytes |
コンパイル時間 | 150 ms |
コンパイル使用メモリ | 82,108 KB |
実行使用メモリ | 849,080 KB |
最終ジャッジ日時 | 2024-07-18 23:06:15 |
合計ジャッジ時間 | 5,705 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 MLE * 1 -- * 24 |
ソースコード
import sys,random,bisectfrom collections import deque,defaultdictfrom heapq import heapify,heappop,heappushfrom itertools import permutationsfrom math import log,gcdinput = lambda :sys.stdin.readline().rstrip()mi = lambda :map(int,input().split())li = lambda :list(mi())N,K = mi()A = li()assert N <= 10**4assert K <= 10**3dp = [0 for i in range(N+1)]dp[0] = 1for i in range(N):dp[i+1] = dp[i]|(dp[i]<<A[i])dp_back = [0 for i in range(N+1)]dp_back[N] = 1for i in range(N)[::-1]:dp_back[i] = dp_back[i+1]|(dp_back[i+1]<<A[i])if dp[-1]>>K & 1 == 0:exit(print(-1))need = 0for i in range(N):flag = Truefor k in range(K+1):if dp[i]>>k & 1:if dp_back[i+1]>>(K-k) & 1:flag = Falseif flag:need += 1print(need)