Задача: пресичащи се редици

Имаме две редици:

  • редица на Трибоначи (по аналогия с редицата на Фибоначи), където всяко число е сумата от предните три (при дадени начални три числа)
  • редица, породена от числова спирала, дефинирана чрез обхождане като спирала (дясно, долу, ляво, горе, дясно, долу, ляво, горе и т.н.) на матрица от числа, стартирайки от нейния център с дадено начално число и стъпка на увеличение, със записване на текущите числа в редицата всеки път, когато направим завой

Да се напише програма, която намира първото число, което се появява и в двете така дефинирани редици.

Входни данни

Входните данни трябва да бъдат прочетени от конзолата.

  • На първите три реда от входа ще се подават три цели числа, представляващи първите три числа в редицата на Трибоначи, положителни ненулеви числа, сортирани в нарастващ ред.
  • На следващите два реда от входа, ще се подават две цели числа, представляващи първото число и стъпката за всяка клетка на матрицата за спиралата от числа. Числата, описващи спиралата, са положителни ненулеви.

Входните данни винаги ще бъдат валидни и винаги ще са в описания формат. Няма нужда да се проверяват.

Изходни данни

Резултатът трябва да бъде принтиран на конзолата.

На единствения ред от изхода трябва да принтирате най-малкото число, което се среща и в двете последователности. Ако няма число в диапазона [1 … 1 000 000], което да се среща и в двете последователности, принтирайте "No".

Ограничения

  • Всички числа във входа ще бъдат в диапазона [1 … 1 000 000].
  • Позволено работно време за програмата: 0.3 секунди.
  • Позволена памет: 16 MB.

Примерен вход и изход

Вход Изход Вход Изход Вход Изход
1
2
3
5
2
37 13
25
99
5
2
13 99
99
99
2
2
No
Вход Изход Вход Изход
1
1
1
1
1
1 1
4
7
23
3
23

results matching ""

    No results matching ""