結果
| 問題 |
No.3282 Photos and Friends
|
| コンテスト | |
| ユーザー |
highlighter
|
| 提出日時 | 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';
}
}
}
}
highlighter