#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
template < class S, class T> inline S min_L( S a,T b) {
return a<= b? a: b;
}
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
vector< vector< int >> restoreMatrix( vector< int > & row, vector< int > & col) {
int i;
int x = row.size ( ) ;
int y = col.size ( ) ;
vector< vector< int >> res( x,vector< int > ( y) ) ;
for ( i= ( 0 ) ; i< ( x) ; i++ ) {
int j;
for ( j= ( 0 ) ; j< ( y) ; j++ ) {
res[ i] [ j] = min_L( row[ i] , col[ j] ) ;
{
auto RZTsC2BF = ( res[ i] [ j] ) ;
row[ i] - = RZTsC2BF;
col[ j] - = RZTsC2BF;
}
}
}
return res;
}
}
;
// cLay version 20201121-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// vector<vector<int>> restoreMatrix(vector<int>& row, vector<int>& col) {
// int x = row.size(), y = col.size();
// vector<vector<int>> res(x,vector<int>(y));
// rep(i,x) rep(j,y){
// res[i][j] = min(row[i], col[j]);
// (row[i], col[j]) -= res[i][j];
// }
// return res;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQ+IGlubGluZSBTIG1pbl9MKFMgYSxUIGIpewogIHJldHVybiBhPD1iP2E6YjsKfQojZGVmaW5lIG1haW4gZHVtbXlfbWFpbgppbnQgbWFpbigpewogIHJldHVybiAwOwp9CiN1bmRlZiBtYWluCmNsYXNzIFNvbHV0aW9uewogIHB1YmxpYzoKICB2ZWN0b3I8dmVjdG9yPGludD4+IHJlc3RvcmVNYXRyaXgodmVjdG9yPGludD4mIHJvdywgdmVjdG9yPGludD4mIGNvbCl7CiAgICBpbnQgaTsKICAgIGludCB4ID0gcm93LnNpemUoKTsKICAgIGludCB5ID0gY29sLnNpemUoKTsKICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gcmVzKHgsdmVjdG9yPGludD4oeSkpOwogICAgZm9yKGk9KDApO2k8KHgpO2krKyl7CiAgICAgIGludCBqOwogICAgICBmb3Ioaj0oMCk7ajwoeSk7aisrKXsKICAgICAgICByZXNbaV1bal0gPW1pbl9MKHJvd1tpXSwgY29sW2pdKTsKICAgICAgICB7CiAgICAgICAgICBhdXRvIFJaVHNDMkJGID0gKHJlc1tpXVtqXSk7CiAgICAgICAgICByb3dbaV0gLT0gUlpUc0MyQkY7CiAgICAgICAgICBjb2xbal0gLT0gUlpUc0MyQkY7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICByZXR1cm4gcmVzOwogIH0KfQo7Ci8vIGNMYXkgdmVyc2lvbiAyMDIwMTEyMS0xCgovLyAtLS0gb3JpZ2luYWwgY29kZSAtLS0KLy8gI2RlZmluZSBtYWluIGR1bW15X21haW4KLy8ge30KLy8gI3VuZGVmIG1haW4KLy8gCi8vIGNsYXNzIFNvbHV0aW9uIHsKLy8gcHVibGljOgovLyAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gcmVzdG9yZU1hdHJpeCh2ZWN0b3I8aW50PiYgcm93LCB2ZWN0b3I8aW50PiYgY29sKSB7Ci8vICAgICBpbnQgeCA9IHJvdy5zaXplKCksIHkgPSBjb2wuc2l6ZSgpOwovLyAgICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiByZXMoeCx2ZWN0b3I8aW50Pih5KSk7Ci8vICAgICByZXAoaSx4KSByZXAoaix5KXsKLy8gICAgICAgcmVzW2ldW2pdID0gbWluKHJvd1tpXSwgY29sW2pdKTsKLy8gICAgICAgKHJvd1tpXSwgY29sW2pdKSAtPSByZXNbaV1bal07Ci8vICAgICB9Ci8vICAgICByZXR1cm4gcmVzOwovLyAgIH0KLy8gfTsK