結果

問題 No.3282 Photos and Friends
ユーザー titia
提出日時 2025-09-30 04:11:58
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 358 ms / 2,000 ms
コード長 995 bytes
コンパイル時間 4,628 ms
コンパイル使用メモリ 81,788 KB
実行使用メモリ 118,360 KB
最終ジャッジ日時 2025-09-30 04:12:20
合計ジャッジ時間 21,634 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 50
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.readline

N,P,Q=map(int,input().split())

X=[list(map(int,input().split())) for i in range(N)]

ANS=[[0,0] for i in range(N)]

SA=[0]*N
for i in range(N):
    x,a,b=X[i]
    if x<=a:
        ANS[i][0]=x
        ANS[i][1]=0

        SA[i]=min(x,b)
    else:
        if a+b<x:
            print("No")
            exit()
        ANS[i][0]=a
        ANS[i][1]=x-a

        SA[i]=min(a,b-(x-a))

SUMA=0
SUMB=0
for i in range(N):
    SUMA+=ANS[i][0]
    SUMB+=ANS[i][1]

if SUMB>Q:
    print("No")
    exit()

if SUMA<=P:
    print("Yes")
    for i in range(N):
        print(*ANS[i])
    exit()

sa=SUMA-P

if sa>sum(SA):
    print("No")
    exit()


for i in range(N):
    if SA[i]>0:
        MIN=min(sa,SA[i])

        ANS[i][0]-=MIN
        ANS[i][1]+=MIN

        sa-=MIN

SUMA=0
SUMB=0
for i in range(N):
    SUMA+=ANS[i][0]
    SUMB+=ANS[i][1]


if SUMA<=P and SUMB<=Q:
    print("Yes")
    for i in range(N):
        print(*ANS[i])
else:
    print("No")





    
0