#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
#define pb push_back
#define int long long
#define fi first
#define se second
const int N = 1e6 + 5, M = 1e9 + 7, LG = 20;
int n , A[N] , B[N] , C[N] , D[N] , E[N];
void solve(){
cin >> n;
for (int i=1 ; i<=n ; i++){
cin >> A[i];
}
for (int i=1 ; i<n ; i++){
cin >> B[i];
}
for (int i=1 ; i<n ; i++){
cin >> C[i];
}
for (int i=1 ; i<n ; i++){
int p = min(A[i] , B[i]);
A[i] -= p;
D[i] += p;
A[i+1] -= (B[i] - p);
if (A[i+1] < 0){
cout << "NO" << endl;
return;
}
E[i] += (B[i] - p);
}
for (int i=1 ; i<=n ; i++){
if (A[i] < 0){
cout << "NO" << endl;
return;
}
}
cout << "YES" << endl;
cout << 0 << endl;
for (int i=1 ; i<n ; i++){
cout << D[i] << ' ' << 0 << ' ' << E[i] << endl;
}
}
signed main(){
// freopen("" , "r" , stdin);
// freopen("" , "w" , stdout);
// cout << setprecision(30);
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int ts = 1;
// cin >> ts;
while(ts--){
solve();
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |