class Ideone {
public static int task(int[] A, int[] B) {
if( Math.
min(A.
length, B.
length) * 6 < Math.
max(A.
length, B.
length) ) return -1;
int diff=0;
int[] statistics=new int[6];
for(int item : A) {
diff+=item;
statistics[item-1]++;
}
for(int item : B) {
diff-=item;
statistics[6-item]++;
}
if(diff<0) {
diff=-diff;
for(int i=0;i<3;i++) {
int swap=statistics[i];
statistics[i]=statistics[5-i];
statistics[5-i]=swap;
}
}
int changes=0;
int i=5;
while(diff>0){
int step
= Math.
min(statistics
[i
],
(diff
+i
-1)/i
); changes += step;
diff -= i*step;
i--;
}
return changes;
}
public static void main
(String[] args
) { System.
out.
println(task
(new int[]{1,
2,
3,
4,
3,
2,
1},
new int[]{6})); System.
out.
println(task
(new int[]{6},
new int[]{1,
2,
3,
4,
3,
2,
1})); System.
out.
println(task
(new int[]{2,
3,
1,
1,
2},
new int[]{5,
4,
6})); System.
out.
println(task
(new int[]{5,
4,
6},
new int[]{2,
3,
1,
1,
2})); System.
out.
println(task
(new int[]{5,
4,
1,
2,
6,
6},
new int[]{2})); System.
out.
println(task
(new int[]{2},
new int[]{5,
4,
1,
2,
6,
6})); }
}
Y2xhc3MgSWRlb25lIHsKCXB1YmxpYyBzdGF0aWMgaW50IHRhc2soaW50W10gQSwgaW50W10gQikgewoJCWlmKCBNYXRoLm1pbihBLmxlbmd0aCwgQi5sZW5ndGgpICogNiA8IE1hdGgubWF4KEEubGVuZ3RoLCBCLmxlbmd0aCkgKQoJCSAgICByZXR1cm4gLTE7CgkJaW50IGRpZmY9MDsKCQlpbnRbXSBzdGF0aXN0aWNzPW5ldyBpbnRbNl07CgkJZm9yKGludCBpdGVtIDogQSkgewoJCSAgICBkaWZmKz1pdGVtOwoJCQlzdGF0aXN0aWNzW2l0ZW0tMV0rKzsKCQl9CgkJZm9yKGludCBpdGVtIDogQikgewoJCSAgICBkaWZmLT1pdGVtOwogICAgCQlzdGF0aXN0aWNzWzYtaXRlbV0rKzsKCQl9CgkJaWYoZGlmZjwwKSB7CgkJICAgIGRpZmY9LWRpZmY7CiAgICAJCWZvcihpbnQgaT0wO2k8MztpKyspIHsKICAgIAkJCWludCBzd2FwPXN0YXRpc3RpY3NbaV07CiAgICAJCQlzdGF0aXN0aWNzW2ldPXN0YXRpc3RpY3NbNS1pXTsKICAgIAkJCXN0YXRpc3RpY3NbNS1pXT1zd2FwOwoJCQl9CgkJfQogIAoJCWludCBjaGFuZ2VzPTA7CgkJaW50IGk9NTsKCQl3aGlsZShkaWZmPjApewoJCQlpbnQgc3RlcCA9IE1hdGgubWluKHN0YXRpc3RpY3NbaV0sIChkaWZmK2ktMSkvaSk7CgkgICAgCWNoYW5nZXMgKz0gc3RlcDsKCSAgICAJZGlmZiAtPSBpKnN0ZXA7CgkgICAgCWktLTsKCQl9CgkJcmV0dXJuIGNoYW5nZXM7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB7CgkJU3lzdGVtLm91dC5wcmludGxuKHRhc2sobmV3IGludFtdezEsMiwzLDQsMywyLDF9LG5ldyBpbnRbXXs2fSkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbih0YXNrKG5ldyBpbnRbXXs2fSxuZXcgaW50W117MSwyLDMsNCwzLDIsMX0pKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4odGFzayhuZXcgaW50W117MiwzLDEsMSwyfSxuZXcgaW50W117NSw0LDZ9KSk7CgkJU3lzdGVtLm91dC5wcmludGxuKHRhc2sobmV3IGludFtdezUsNCw2fSxuZXcgaW50W117MiwzLDEsMSwyfSkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbih0YXNrKG5ldyBpbnRbXXs1LDQsMSwyLDYsNn0sbmV3IGludFtdezJ9KSk7CgkJU3lzdGVtLm91dC5wcmludGxuKHRhc2sobmV3IGludFtdezJ9LG5ldyBpbnRbXXs1LDQsMSwyLDYsNn0pKTsKCX0KfQ==