結果
問題 |
No.3282 Photos and Friends
|
ユーザー |
![]() |
提出日時 | 2025-09-26 21:33:37 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 582 ms / 2,000 ms |
コード長 | 1,019 bytes |
コンパイル時間 | 3,900 ms |
コンパイル使用メモリ | 253,388 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2025-09-26 21:33:51 |
合計ジャッジ時間 | 12,727 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 50 |
ソースコード
#include <stdio.h> #include <atcoder/all> #include <bits/stdc++.h> using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000005 #define Inf64 1000000000000000001LL int main(){ long long n,p,q; cin>>n>>p>>q; vector<long long> x(n),a(n),b(n); rep(i,n)cin>>x[i]>>a[i]>>b[i]; vector<long long> aa(n),bb(n); rep(i,n){ if(a[i] + b[i] < x[i]){ cout<<"No"<<endl; return 0; } aa[i] = max(0LL,x[i]-b[i]); bb[i] = max(0LL,x[i]-a[i]); p -= aa[i],q -= bb[i]; x[i] -= aa[i]; a[i] -= aa[i]; x[i] -= bb[i]; b[i] -= bb[i]; } if(p < 0 || q < 0){ cout<<"No"<<endl; return 0; } rep(i,n){ if(x[i]==0)continue; long long t = min({a[i],x[i],p}); p -= t; x[i] -= t; a[i] -= t; aa[i] += t; t = min({b[i],x[i],q}); q -= t; x[i] -= t; b[i] -= t; bb[i] += t; if(x[i]!=0){ cout<<"No"<<endl; return 0; } } cout<<"Yes"<<endl; rep(i,n){ cout<<aa[i]<<' '<<bb[i]<<endl; } return 0; }