結果
問題 |
No.3282 Photos and Friends
|
ユーザー |
![]() |
提出日時 | 2025-09-23 10:25:23 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 718 bytes |
コンパイル時間 | 7,315 ms |
コンパイル使用メモリ | 278,408 KB |
実行使用メモリ | 7,716 KB |
最終ジャッジ日時 | 2025-09-23 10:25:43 |
合計ジャッジ時間 | 15,499 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 48 WA * 2 |
ソースコード
#include<bits/stdc++.h> using namespace std; int main(){ int N; long long P,Q; cin >> N >> P >> Q; vector<int> X(N),A(N),B(N); for(int i=0;i<N;i++){ cin >> X[i] >> A[i] >> B[i]; int la=max(X[i]-B[i],0),lb=max(X[i]-A[i],0); if(la>A[i] || lb>B[i]) goto high; P-=la,Q-=lb,X[i]-=la+lb,A[i]=la,B[i]=lb; } if(P<0 || Q<0){ high:cout << "No\n"; return 0; } long long sum=0; for(int i : X) sum+=i; if(sum<=P+Q){ cout << "Yes\n"; long long cnt=0; for(int i=0;i<N;cnt+=X[i++]){ if(cnt+X[i]<=P){ cout << A[i]+X[i] << ' ' << B[i] << '\n'; } else if(cnt<P){ cout << P-cnt+A[i] << ' ' << cnt-P+X[i]+B[i] << '\n'; } else{ cout << A[i] << ' ' << B[i]+X[i] << '\n'; } } } }