Олимпиадный тренинг

Задача . D. Вася и массивы


У Васи есть два массива \(A\) и \(B\) длины \(n\) и \(m\) соответственно.

Он может проделать следующую операцию любое количество раз (возможно и ноль): взять любой подотрезок массива и заменить его на один элемент, равный сумме всех элементов на этом подотрезке. Например из массива \([1, 10, 100, 1000, 10000]\) Вася может получить массив \([1, 1110, 10000]\), а из массива \([1, 2, 3]\) – массив \([6]\).

Два массива \(A\) и \(B\) считаются одинаковыми тогда и только тогда, когда они равной длины и для каждого корректного \(i\) \(A_i = B_i\).

Вася сначала применяет операции к массиву \(A\), потом к массиву \(B\), а в результате хочет сделать массивы \(A\) и \(B\) одинаковыми. К тому же, длины полученных массивов должны быть максимально возможными.

Помогите Васе найти максимальную длину массивов, которые можно получить, или сообщите, что невозможно сделать массивы \(A\) и \(B\) одинаковыми.

Входные данные

В первой строке задано целое число \(n~(1 \le n \le 3 \cdot 10^5)\) – длина первого массива.

Во второй строке задано \(n\) целых чисел \(a_1, a_2, \cdots, a_n~(1 \le a_i \le 10^9)\) – элементы массива \(A\).

В третьей строке задано целое число \(m~(1 \le m \le 3 \cdot 10^5)\) – длина второго массива.

В четвертой строке задано \(m\) целых чисел \(b_1, b_2, \cdots, b_m~(1 \le b_i \le 10^9)\) – элементы массива \(B\).

Выходные данные

Выведите одно число — максимальную длину полученных массивов после применения операций к массивам \(A\) и \(B\) таким образом, что они становятся одинаковыми.

Если же не существует способа сделать массивы одинаковыми, выведите «-1».


Примеры
Входные данныеВыходные данные
1 5
11 2 3 5 7
4
11 7 3 7
3
2 2
1 2
1
100
-1
3 3
1 2 3
3
1 2 3
3

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя