Просто Имя
Ученик
(53),
на голосовании
1 месяц назад
После взрыва коллайдера, Человек-Паук, он же Майлз Моралес, попал в параллельную вселенную. Оценив ситуацию и поняв, что ему нужна помощь, недолго думая Майлз нашел Питера Паркера, человека-паука из этой параллельной вселенной, и рассказал ему свою историю.
Проанализировав чертежи коллайдера, которые Майлз случайно утащил с собой, а также множество других параметров, вместе они выяснили, что сейчас Майлз находится во вселенной номер A , а его вселенная имеет номер B . Потратив несколько месяцев, они также смогли построить аппарат для путешествия между вселенными, который может позволить Майлзу вернуться домой. В этом устройстве есть n кнопок с числами a1 , a2 , ... an , причем нажатие на кнопку с числом ai перемещает из текущей вселенной с номером x во вселенную с номером x∨ai (где ∨ — логическое или). Однако, это не все — так как наши друзья были ограничены в ресурсах, заряда мощности у устройства хватит только на 100 перемещений.
Теперь Майлз и Питер сидят и думают, в какой последовательности нужно нажимать кнопки на устройстве, чтобы вернуть Майлза домой. Помогите им!
Входные данные В первой строке содержится три числа n , A и B — количество кнопок на устройстве, номер вселенной, в которой сейчас находится Майлз и номер вселенной, в которую ему нужно вернуться (1≤n≤105 , 0≤A,B≤109 ).
В следующей строке содержится n чисел ai — числа, написанные на кнопках устройства (1≤ai≤109 ).
Выходные данные Если Майлзу не удастся вернуться домой, в единственной строке выведите «-1». Если же такая возможность у него есть, в первой строке выведите число k — количество нажатий на кнопки устройства, которое придется сделать (0≤k≤100 ). Во второй строке через пробел выведите k номеров кнопок в порядке, в котором их следует нажимать.
Если существует несколько ответов, выведите любой.
Примеры входные данные 4 2 11 3 2 6 10 выходные данные 2 1 4 входные данные 4 4 11 3 2 6 10 выходные данные -1 Примечание В первом примере сначала можно нажать на первую кнопку и из вселенной номер 2 переместиться во вселенную номер 2∨3=3 , а затем нажать кнопку 4 и из вселенной 3 переместиться во вселенную 3∨10=11 .
Проанализировав чертежи коллайдера, которые Майлз случайно утащил с собой, а также множество других параметров, вместе они выяснили, что сейчас Майлз находится во вселенной номер A
, а его вселенная имеет номер B
. Потратив несколько месяцев, они также смогли построить аппарат для путешествия между вселенными, который может позволить Майлзу вернуться домой. В этом устройстве есть n
кнопок с числами a1
, a2 , ... an
, причем нажатие на кнопку с числом ai
перемещает из текущей вселенной с номером x
во вселенную с номером x∨ai
(где ∨
— логическое или). Однако, это не все — так как наши друзья были ограничены в ресурсах, заряда мощности у устройства хватит только на 100
перемещений.
Теперь Майлз и Питер сидят и думают, в какой последовательности нужно нажимать кнопки на устройстве, чтобы вернуть Майлза домой. Помогите им!
Входные данные
В первой строке содержится три числа n
, A и B
— количество кнопок на устройстве, номер вселенной, в которой сейчас находится Майлз и номер вселенной, в которую ему нужно вернуться (1≤n≤105
, 0≤A,B≤109 ).
В следующей строке содержится n
чисел ai
— числа, написанные на кнопках устройства (1≤ai≤109 ).
Выходные данные
Если Майлзу не удастся вернуться домой, в единственной строке выведите «-1». Если же такая возможность у него есть, в первой строке выведите число k
— количество нажатий на кнопки устройства, которое придется сделать (0≤k≤100 ). Во второй строке через пробел выведите k номеров кнопок в порядке, в котором их следует нажимать.
Если существует несколько ответов, выведите любой.
Примеры
входные данные
4 2 11
3 2 6 10
выходные данные
2
1 4
входные данные
4 4 11
3 2 6 10
выходные данные
-1
Примечание
В первом примере сначала можно нажать на первую кнопку и из вселенной номер 2
переместиться во вселенную номер 2∨3=3 , а затем нажать кнопку 4 и из вселенной 3 переместиться во вселенную 3∨10=11 .