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

Задача . B. Цирк


Это просто цирк какой-то!

Поликарп — руководитель труппы небольшого цирка. Всего в труппе \(n\) — четное число — артистов. Про \(i\)-го артиста известно, может ли он на манеже выступить как клоун (если да, то \(c_i = 1\), иначе \(c_i = 0\)), и может ли он выступить на манеже как акробат (если да, то \(a_i = 1\), иначе \(a_i = 0\)).

Разделите артистов на два выступления так, чтобы:

  • каждый артист участвовал ровно в одном выступлении,
  • количество артистов в каждом выступлении одинаково (следовательно, равно \(\frac{n}{2}\)),
  • количество артистов в первом выступлении, которые могут выступить клоунами, равно количеству артистов во во втором выступлении, которые могут выступить акробатами.
Входные данные

Первая строка содержит одно целое число \(n\) (\(2 \le n \le 5\,000\), \(n\) четно) — число артистов в труппе.

Вторая строка содержит \(n\) цифр \(c_1 c_2 \ldots c_n\), \(i\)-я из которых равна \(1\), если \(i\)-й артист может выступить как клоун, и \(0\) иначе.

Третья строка содержит \(n\) цифр \(a_1 a_2 \ldots a_n\), \(i\)-я из которых равна \(1\), если \(i\)-й артист может выступить как акробат, и \(0\) иначе.

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

Выведите \(\frac{n}{2}\) различных чисел — номера артистов, которые должны войти в первое выступление, в любом порядке.

Если существует несколько решений, выведите любое из них.

Если решения не существует, выведите одно целое число \(-1\).

Примечание

В первом примере одно из подходящих разделений следующее: в первом выступлении выступают артисты \(1\) и \(4\). Тогда в первом выступлении количество артистов, которые могут быть клоунами, равно \(1\). Количество артистов во втором выступлении, которые могут быть акробатами, также равно \(1\).

Во втором примере не существует ни одного подходящего разделения.

В третьем примере одно из подходящих разделений следующее: в первом выступлении выступают артисты \(3\) и \(4\). Тогда в первом выступлении количество артистов, которые могут быть клоунами, равно \(2\). Количество артистов во втором выступлении, которые могут быть акробатами, также равно \(2\).


Примеры
Входные данныеВыходные данные
1 4
0011
0101
1 4
2 6
000000
111111
-1
3 4
0011
1100
4 3
4 8
00100101
01111100
1 2 3 6

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

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