結果
| 問題 |
No.2686 商品券の使い道
|
| コンテスト | |
| ユーザー |
sasa8uyauya
|
| 提出日時 | 2024-09-26 22:08:17 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,026 ms / 3,000 ms |
| コード長 | 483 bytes |
| コンパイル時間 | 275 ms |
| コンパイル使用メモリ | 82,048 KB |
| 実行使用メモリ | 84,352 KB |
| 最終ジャッジ日時 | 2024-09-26 22:08:48 |
| 合計ジャッジ時間 | 29,379 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 48 |
ソースコード
n,p1,p2=map(int,input().split())
c=[tuple(map(int,input().split())) for i in range(n)]
q=[0]*(1<<n)
for i in range(1<<n):
a=0
b=0
for j in range(n):
if (i>>j)&1:
a+=c[j][0]
b+=c[j][1]
if a<=p1:
q[i]=b
for j in range(n):
for i in range(1<<n):
if (i>>j)&1:
q[i]=max(q[i],q[i^(1<<j)])
g=0
for i in range(1<<n):
a=0
b=0
for j in range(n):
if (i>>j)&1:
a+=c[j][0]
b+=c[j][1]
if a<=p2:
g=max(g,b+q[((1<<n)-1)^i])
print(g)
sasa8uyauya