Задача Секретне повідомлення (SECRET)

До Штірліца не дійшов лист із Центру. Перечитав  ще раз… Все одно  не дійшло…

Для передачі секретних повідомлень своїм співробітникам розвідувальна агенція «Колобок» використовує наступний метод. Спочатку повідомлення кодується з використанням стандартної таблиці ASCII, а потім розбивається на дві рівні частини. У одні  ті самі  позиції отриманих частин додається одне і те ж число, якого не було у початковму повідомленні, так званий ключ. Після цього кожна з числових послідовностей циклічно зсувається, причому одна частина зсувається ліворуч, а друга – праворуч, кількість позицій зсуву однакова.

Агент Василь Пупкін знайшов у шухляді свого письмового столу дві числові послідовності однакової довжини. І тепер у нього нав’язлива думка – чи не є вони частинами деякого непрочитаного секретного повідомлення. Щоб відповісти на це питання, необхідно привести обидві послідовності до початкового вигляду, коли ключове число знаходиться у одних і тих самих позиціях. Для цього обидві послідовності зсувають циклічно на деяку однакову кількість позицій, причому  перша зсувається ліворуч, а друга – праворуч. Якщо після виконання такої операції всі ключові числа виявляться на однакових позиціях, то вважається, що вони належать одному повідомленню. Якщо ж цього добитись неможливо, послідовності належать різним повідомленням.

Допоможіть Васі знайти мінімальну кількість позицій, на які подрібно  зсувати послідовності для відновлення повідомлення.

Технічні умови.  Програма SECRET  читає з клавіатури  число N (1N200000). Далі читаються два рядки  по N чисел, які задають знайдені Васею послідовності. В останньому рядку  одне число – ключ P. Всі  числа є цілими і лежать в межах від 1 до 255 включно.  Програма виводить єдине число – мінімальний зсув для отримання числових послідовностей початкового повідомлення. Якщо числові послідовності належать різним початковим повідомленням, вивести число −1.Приклад:
Введення Виведення
43 1 2 34 3 3 53 1

© LIKT 1998-2018