#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("inline")
#include<bits/stdc++.h>
using namespace std;
template < class T> struct cLtraits_identity{
using type = T;
}
;
template < class T> using cLtraits_try_make_signed =
typename conditional<
is_integral< T> :: value ,
make_signed< T> ,
cLtraits_identity< T>
> :: type ;
template < class S, class T> struct cLtraits_common_type{
using tS = typename cLtraits_try_make_signed< S> :: type ;
using tT = typename cLtraits_try_make_signed< T> :: type ;
using type = typename common_type< tS,tT> :: type ;
}
;
template < class S, class T> inline auto max_L( S a, T b)
- > typename cLtraits_common_type< S,T> :: type {
return ( typename cLtraits_common_type< S,T> :: type ) a >= ( typename cLtraits_common_type< S,T> :: type ) b ? a : b;
}
template < class T, class S> int Count( const int N, const T A[ ] , const S val) {
int i;
int res = 0 ;
for ( i= ( 0 ) ; i< ( N) ; i++ ) {
if ( A[ i] == val) {
res++ ;
}
}
return res;
}
template < class T, class S> int Count( const vector< T> & A, const S val) {
int i;
int res = 0 ;
for ( i= ( 0 ) ; i< ( A.size ( ) ) ; i++ ) {
if ( A[ i] == val) {
res++ ;
}
}
return res;
}
template < class S> int Count( const string & A, const S val) {
int i;
int res = 0 ;
for ( i= ( 0 ) ; i< ( A.size ( ) ) ; i++ ) {
if ( A[ i] == val) {
res++ ;
}
}
return res;
}
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
long long minSum( vector< int > & A, vector< int > & B) {
int za = Count( A, 0 ) ;
int zb = Count( B, 0 ) ;
int Nzj9Y0kE;
long long bkxOPzPX;
int WKqLrJHZ = 0 ;
if ( ( 0 ) > ( ( A.size ( ) ) - 1 ) ) {
bkxOPzPX = 0 ;
}
else {
for ( Nzj9Y0kE = 0 ; Nzj9Y0kE <= ( A.size ( ) ) - 1 ; Nzj9Y0kE++ ) {
if ( WKqLrJHZ == 0 ) {
bkxOPzPX = A[ Nzj9Y0kE] ;
WKqLrJHZ = 1 ;
continue ;
}
bkxOPzPX + = A[ Nzj9Y0kE] ;
}
if ( WKqLrJHZ== 0 ) {
bkxOPzPX = 0 ;
}
}
long long sa = bkxOPzPX+ za;
int YGwFZBGH;
long long OA9NF42T;
int ATMZloZo = 0 ;
if ( ( 0 ) > ( ( B.size ( ) ) - 1 ) ) {
OA9NF42T = 0 ;
}
else {
for ( YGwFZBGH = 0 ; YGwFZBGH <= ( B.size ( ) ) - 1 ; YGwFZBGH++ ) {
if ( ATMZloZo == 0 ) {
OA9NF42T = B[ YGwFZBGH] ;
ATMZloZo = 1 ;
continue ;
}
OA9NF42T + = B[ YGwFZBGH] ;
}
if ( ATMZloZo== 0 ) {
OA9NF42T = 0 ;
}
}
long long sb = OA9NF42T+ zb;
if ( ( za== 0 && sa < sb) || ( zb== 0 && sb < sa) ) {
return - 1 ;
}
return max_L( sa, sb) ;
}
}
;
// cLay version 20231031-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// ll minSum(VI &A, VI &B){
// int za = Count(A, 0);
// int zb = Count(B, 0);
// ll sa = sum[ll][i,0,A.size()](A[i]) + za;
// ll sb = sum[ll][i,0,B.size()](B[i]) + zb;
// if((za==0 && sa < sb) || (zb==0 && sb < sa)) return -1;
// return max(sa,sb);
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0IikKI3ByYWdtYSBHQ0Mgb3B0aW1pemUoInVucm9sbC1sb29wcyIpCiNwcmFnbWEgR0NDIG9wdGltaXplKCJpbmxpbmUiKQojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0ZW1wbGF0ZTxjbGFzcyBUPiBzdHJ1Y3QgY0x0cmFpdHNfaWRlbnRpdHl7CiAgdXNpbmcgdHlwZSA9IFQ7Cn0KOwp0ZW1wbGF0ZTxjbGFzcyBUPiB1c2luZyBjTHRyYWl0c190cnlfbWFrZV9zaWduZWQgPQogIHR5cGVuYW1lIGNvbmRpdGlvbmFsPAogICAgaXNfaW50ZWdyYWw8VD46OnZhbHVlLAogICAgbWFrZV9zaWduZWQ8VD4sCiAgICBjTHRyYWl0c19pZGVudGl0eTxUPgogICAgPjo6dHlwZTsKdGVtcGxhdGUgPGNsYXNzIFMsIGNsYXNzIFQ+IHN0cnVjdCBjTHRyYWl0c19jb21tb25fdHlwZXsKICB1c2luZyB0UyA9IHR5cGVuYW1lIGNMdHJhaXRzX3RyeV9tYWtlX3NpZ25lZDxTPjo6dHlwZTsKICB1c2luZyB0VCA9IHR5cGVuYW1lIGNMdHJhaXRzX3RyeV9tYWtlX3NpZ25lZDxUPjo6dHlwZTsKICB1c2luZyB0eXBlID0gdHlwZW5hbWUgY29tbW9uX3R5cGU8dFMsdFQ+Ojp0eXBlOwp9CjsKdGVtcGxhdGU8Y2xhc3MgUywgY2xhc3MgVD4gaW5saW5lIGF1dG8gbWF4X0woUyBhLCBUIGIpCi0+IHR5cGVuYW1lIGNMdHJhaXRzX2NvbW1vbl90eXBlPFMsVD46OnR5cGV7CiAgcmV0dXJuICh0eXBlbmFtZSBjTHRyYWl0c19jb21tb25fdHlwZTxTLFQ+Ojp0eXBlKSBhID49ICh0eXBlbmFtZSBjTHRyYWl0c19jb21tb25fdHlwZTxTLFQ+Ojp0eXBlKSBiID8gYSA6IGI7Cn0KdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgUz4gaW50IENvdW50KGNvbnN0IGludCBOLCBjb25zdCBUIEFbXSwgY29uc3QgUyB2YWwpewogIGludCBpOwogIGludCByZXMgPSAwOwogIGZvcihpPSgwKTtpPChOKTtpKyspewogICAgaWYoQVtpXT09dmFsKXsKICAgICAgcmVzKys7CiAgICB9CiAgfQogIHJldHVybiByZXM7Cn0KdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgUz4gaW50IENvdW50KGNvbnN0IHZlY3RvcjxUPiAmQSwgY29uc3QgUyB2YWwpewogIGludCBpOwogIGludCByZXMgPSAwOwogIGZvcihpPSgwKTtpPChBLnNpemUoKSk7aSsrKXsKICAgIGlmKEFbaV09PXZhbCl7CiAgICAgIHJlcysrOwogICAgfQogIH0KICByZXR1cm4gcmVzOwp9CnRlbXBsYXRlPGNsYXNzIFM+IGludCBDb3VudChjb25zdCBzdHJpbmcgJkEsIGNvbnN0IFMgdmFsKXsKICBpbnQgaTsKICBpbnQgcmVzID0gMDsKICBmb3IoaT0oMCk7aTwoQS5zaXplKCkpO2krKyl7CiAgICBpZihBW2ldPT12YWwpewogICAgICByZXMrKzsKICAgIH0KICB9CiAgcmV0dXJuIHJlczsKfQojZGVmaW5lIG1haW4gZHVtbXlfbWFpbgppbnQgbWFpbigpewogIHJldHVybiAwOwp9CiN1bmRlZiBtYWluCmNsYXNzIFNvbHV0aW9uewogIHB1YmxpYzoKICBsb25nIGxvbmcgbWluU3VtKHZlY3RvcjxpbnQ+ICZBLCB2ZWN0b3I8aW50PiAmQil7CiAgICBpbnQgemEgPSBDb3VudChBLCAwKTsKICAgIGludCB6YiA9IENvdW50KEIsIDApOwogICAgaW50IE56ajlZMGtFOwogICAgbG9uZyBsb25nIGJreE9QelBYOwogICAgaW50IFdLcUxySkhaID0gMDsKICAgIGlmKCgwKSA+ICgoQS5zaXplKCkpLTEpKXsKICAgICAgYmt4T1B6UFggPSAwOwogICAgfQogICAgZWxzZXsKICAgICAgZm9yKE56ajlZMGtFID0gMDsgTnpqOVkwa0UgPD0gKEEuc2l6ZSgpKS0xOyBOemo5WTBrRSsrKXsKICAgICAgICBpZihXS3FMckpIWiA9PSAwKXsKICAgICAgICAgIGJreE9QelBYID0gQVtOemo5WTBrRV07CiAgICAgICAgICBXS3FMckpIWiA9IDE7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgYmt4T1B6UFggKz0gQVtOemo5WTBrRV07CiAgICAgIH0KICAgICAgaWYoV0txTHJKSFo9PTApewogICAgICAgIGJreE9QelBYID0gMDsKICAgICAgfQogICAgfQogICAgbG9uZyBsb25nIHNhID0gYmt4T1B6UFgrIHphOwogICAgaW50IFlHd0ZaQkdIOwogICAgbG9uZyBsb25nIE9BOU5GNDJUOwogICAgaW50IEFUTVpsb1pvID0gMDsKICAgIGlmKCgwKSA+ICgoQi5zaXplKCkpLTEpKXsKICAgICAgT0E5TkY0MlQgPSAwOwogICAgfQogICAgZWxzZXsKICAgICAgZm9yKFlHd0ZaQkdIID0gMDsgWUd3RlpCR0ggPD0gKEIuc2l6ZSgpKS0xOyBZR3dGWkJHSCsrKXsKICAgICAgICBpZihBVE1abG9abyA9PSAwKXsKICAgICAgICAgIE9BOU5GNDJUID0gQltZR3dGWkJHSF07CiAgICAgICAgICBBVE1abG9abyA9IDE7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgT0E5TkY0MlQgKz0gQltZR3dGWkJHSF07CiAgICAgIH0KICAgICAgaWYoQVRNWmxvWm89PTApewogICAgICAgIE9BOU5GNDJUID0gMDsKICAgICAgfQogICAgfQogICAgbG9uZyBsb25nIHNiID0gT0E5TkY0MlQrIHpiOwogICAgaWYoKHphPT0wICYmIHNhIDwgc2IpIHx8ICh6Yj09MCAmJiBzYiA8IHNhKSl7CiAgICAgIHJldHVybiAtMTsKICAgIH0KICAgIHJldHVybiBtYXhfTChzYSwgc2IpOwogIH0KfQo7Ci8vIGNMYXkgdmVyc2lvbiAyMDIzMTAzMS0xCgovLyAtLS0gb3JpZ2luYWwgY29kZSAtLS0KLy8gI2RlZmluZSBtYWluIGR1bW15X21haW4KLy8ge30KLy8gI3VuZGVmIG1haW4KLy8gCi8vIGNsYXNzIFNvbHV0aW9uIHsKLy8gcHVibGljOgovLyAgIGxsIG1pblN1bShWSSAmQSwgVkkgJkIpewovLyAgICAgaW50IHphID0gQ291bnQoQSwgMCk7Ci8vICAgICBpbnQgemIgPSBDb3VudChCLCAwKTsKLy8gICAgIGxsIHNhID0gc3VtW2xsXVtpLDAsQS5zaXplKCldKEFbaV0pICsgemE7Ci8vICAgICBsbCBzYiA9IHN1bVtsbF1baSwwLEIuc2l6ZSgpXShCW2ldKSArIHpiOwovLyAgICAgaWYoKHphPT0wICYmIHNhIDwgc2IpIHx8ICh6Yj09MCAmJiBzYiA8IHNhKSkgcmV0dXJuIC0xOwovLyAgICAgcmV0dXJuIG1heChzYSxzYik7Ci8vICAgfQovLyB9Owo=