結果
| 問題 | No.3634 Made to order |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-06-21 14:03:47 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 122 ms / 2,000 ms |
| + 249µs | |
| コード長 | 419 bytes |
| 記録 | |
| コンパイル時間 | 228 ms |
| コンパイル使用メモリ | 95,972 KB |
| 実行使用メモリ | 86,036 KB |
| 最終ジャッジ日時 | 2026-08-21 20:55:20 |
| 合計ジャッジ時間 | 6,842 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge1_0 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| サブタスク $1$ | 20 % | AC * 8 |
| サブタスク $2$ | 10 % | AC * 21 |
| サブタスク $3$ | 70 % | AC * 26 |
| 合計 | 3 * 100% = 300 点 |
ソースコード
R=range
J=lambda:map(int,input().split())
N,D=J()
p=1<<N
A=[0]*N
B=A[:]
C=A[:]
v=[0]*p
for i in R(N):A[i],B[i],C[i]=J();v[1<<i]=i
S=sum(B)+1
o=[[(0,0)]]+[[]for s in R(p)]
for s in R(1,p):
t,y=s,[]
while t:
d=t&-t;i,t=v[d],t^d
for b,x in o[s^d]:r=max(0,b-A[i])+B[i];y+=[(r,max(r,x-A[i])+C[i])]
for b,x in sorted(y):
if not o[s] or o[s][-1][1]>x:o[s]+=[(b,x)]
print("YNeos"[sum(A)+min(x for b,x in o[p-1])>D::2])