結果
問題 |
No.3282 Photos and Friends
|
ユーザー |
|
提出日時 | 2025-09-26 22:06:57 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 446 ms / 2,000 ms |
コード長 | 695 bytes |
コンパイル時間 | 179 ms |
コンパイル使用メモリ | 82,224 KB |
実行使用メモリ | 118,008 KB |
最終ジャッジ日時 | 2025-09-26 22:07:08 |
合計ジャッジ時間 | 10,912 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 50 |
ソースコード
N,P,Q=map(int,input().split()) fris=[list(map(int,input().split())) for i in range(N)] seg=[] sx=0 mim=0 mam=0 for x,a,b in fris: sx+=x a=min(a,x) b=min(b,x) seg.append((x-b,a)) mim+=x-b mam+=a if x-b>a: print("No") exit() lp=sx-Q P=min(P,sx) Q=min(Q,sx) if lp>P: print("No") exit() if max(mim,lp)>min(mam,P): print("No") exit() print("Yes") ans=[seg[i][0] for i in range(N)] now=sum(ans) for i in range(N): if now>=lp: break if now+(seg[i][1]-seg[i][0])<lp: ans[i]=seg[i][1] now+=seg[i][1]-seg[i][0] else: ans[i]+=lp-now now=lp for i in range(N): print(ans[i],fris[i][0]-ans[i])