from
functools
import
cmp_to_key
def
cmp
(c, d):
return
c
-
d
def
makeSumEqual(a, b, K, M, N):
sum1
=
0
sum2
=
0
for
el
in
range
(
len
(a)):
sum1
+
=
a[el]
for
el
in
range
(
len
(b)):
sum2
+
=
b[el]
diff
=
sum1
-
sum2
l1
=
0
r1
=
M
-
1
l2
=
0
r2
=
N
-
1
res
=
0
a.sort(key
=
cmp_to_key(
cmp
))
b.sort(key
=
cmp_to_key(
cmp
))
while
(l1 <
=
r1
or
l2 <
=
r2):
if
(diff
=
=
0
):
break
if
(diff >
0
):
if
(l2 <
=
r2
and
l1 <
=
r1):
if
(K
-
b[l2] < a[r1]
-
1
):
sub
=
min
(a[r1]
-
1
, diff)
diff
-
=
sub
a[r1]
-
=
sub
r1
-
=
1
else
:
sub
=
min
(K
-
b[l2], diff)
diff
-
=
sub
b[l2]
+
=
sub
l2
+
=
1
elif
(l1 <
=
r1):
sub
=
min
(a[r1]
-
1
, diff)
diff
-
=
sub
a[r1]
-
=
sub
r1
-
=
1
else
:
sub
=
min
(K
-
b[l2], diff)
diff
-
=
sub
b[l2]
+
=
sub
l2
+
=
1
else
:
if
(l1 <
=
r1
and
l2 <
=
r2):
if
(K
-
a[l1]< b[r2]
-
1
):
sub
=
min
(b[r2]
-
1
,
-
1
*
diff)
diff
+
=
sub
b[r2]
-
=
sub
r2
-
=
1
else
:
sub
=
min
(K
-
a[l1],
-
1
*
diff)
diff
+
=
sub
a[l1]
-
=
sub
l1
+
=
1
elif
(l2 <
=
r2):
sub
=
min
(b[r2]
-
1
,
-
1
*
diff)
diff
+
=
sub
b[r2]
-
=
sub
r2
-
=
1
else
:
sub
=
min
(K
-
a[l1], diff)
diff
+
=
sub
a[l1]
+
=
sub
l1
+
=
1
res
+
=
1
if
(diff
=
=
0
):
return
res
else
:
return
-
1
A
=
[
1
,
4
,
3
]
B
=
[
6
,
6
,
6
]
M
=
len
(A)
N
=
len
(B)
K
=
6
print
(makeSumEqual(A, B, K,M, N))