結果
| 問題 |
No.393 2本の竹
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-07-14 01:59:53 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 161 ms / 1,000 ms |
| コード長 | 792 bytes |
| コンパイル時間 | 210 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 66,048 KB |
| 最終ジャッジ日時 | 2024-11-08 09:25:00 |
| 合計ジャッジ時間 | 3,147 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 28 |
ソースコード
def read_data():
n1, n2 = map(int, input().split())
m = int(input())
As = list(map(int, input().split()))
return n1, n2, m, As
def solve(n1, n2, m, As):
As.sort()
cum = 0
n12 = n1 + n2
ans = 0
dp = [0] * (n1 + 1)
dp[0] = 1
for a in As:
cum += a
if cum > n12:
return ans
for pos in range(n1, a - 1, -1):
if dp[pos - a]:
dp[pos] = 1
for pos in range(n1, -1, -1):
if dp[pos]:
if pos + n2 < cum:
return ans
else:
break
ans += 1
return ans
if __name__ == '__main__':
d = int(input())
for i in range(d):
n1, n2, m, As = read_data()
print(solve(n1, n2, m, As))