結果
| 問題 |
No.2686 商品券の使い道
|
| コンテスト | |
| ユーザー |
titia
|
| 提出日時 | 2024-03-26 04:08:21 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 896 bytes |
| コンパイル時間 | 313 ms |
| コンパイル使用メモリ | 81,792 KB |
| 実行使用メモリ | 134,272 KB |
| 最終ジャッジ日時 | 2024-09-30 14:13:32 |
| 合計ジャッジ時間 | 14,890 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 22 TLE * 1 -- * 25 |
ソースコード
import sys
input = sys.stdin.readline
N,M,Q=map(int,input().split())
AB=[list(map(int,input().split())) for i in range(N)]
LIST1=[]
LIST2=[]
for i in range(1<<N):
c=0
v=0
for j in range(N):
if i & (1<<j) != 0:
c+=AB[j][0]
v+=AB[j][1]
if c<=M:
LIST1.append(i)
if c<=Q:
LIST2.append(i)
LIST=[]
for x in LIST1[::-1]:
flag=1
for y in LIST:
if x|y==y:
flag=0
break
if flag==1:
LIST.append(x)
LIST1=LIST
LIST=[]
for x in LIST2[::-1]:
flag=1
for y in LIST:
if x|y==y:
flag=0
break
if flag==1:
LIST.append(x)
LIST2=LIST
ANS=0
for x in LIST1:
for y in LIST2:
z=x|y
score=0
for i in range(N):
if z & (1<<i) !=0:
score+=AB[i][1]
ANS=max(ANS,score)
print(ANS)
titia