結果
問題 |
No.3282 Photos and Friends
|
ユーザー |
![]() |
提出日時 | 2025-10-03 15:38:52 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 946 bytes |
コンパイル時間 | 1,478 ms |
コンパイル使用メモリ | 165,928 KB |
実行使用メモリ | 7,720 KB |
最終ジャッジ日時 | 2025-10-03 15:39:03 |
合計ジャッジ時間 | 10,339 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 WA * 1 |
other | AC * 37 WA * 13 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (int i = a; i < b; i++) using ll = long long; int main(){ ll n, p, q; cin >> n >> p >> q; vector<int> x(n), a(n), b(n), ax(n), bx(n); rep(i, 0, n) cin >> x[i] >> a[i] >> b[i]; ll sx = 0; rep(i, 0, n) { if(a[i] + b[i] < x[i]) { cout << "No" << endl; return 0; } sx += x[i]; if(sx > p + q) { cout << "No" << endl; return 0; } } ll l = sx - q, h = p, smi = 0, sma = 0; rep(i, 0, n) { int bl = max(0, x[i] - b[i]); int ah = min(a[i], x[i]); if(bl > ah) { cout << "No" << endl; return 0; } smi += bl; sma += ah; } if(sma < l || h < smi) { cout << "No" << endl; return 0; } rep(i, 0, n) { int bl = max(0, x[i] - b[i]); ax[i] = bl; } rep(i, 0, n) { int r = x[i] - ax[i]; int d = min(r, b[i]); bx[i] = d; ax[i] += r - d; } cout << "Yes" << endl; rep(i, 0, n) { cout << ax[i] << " " << bx[i] << endl; } }