Ученическо състезание по програмиране
27 март 2004 г., Благоевград
Задача F. Скачащия първи
За дадена безкрайна редица от цели числа, по-големи
от 2 разглеждаме следното действие: вземаме първия елемент на редицата
и го преместваме назад (правим скок) през толкова елементи, колкото е неговата
стойност. На следващата стъпка правим същото с новия първи елемент. Напишете
програма, която за даден елемент от редицата определя броя на стъпките,
необходими за да стане елементът първи в редицата.
Например четвъртият елемент на редицата
3 4 5 6 7 8 9 10 ...
става първи за 3 стъпки:
1st step 4 5 6 3 7 8 9 10 ...
2nd step 5 6 3 7 4 8 9 10 ...
3rd step 6 3 7 4 8 5 9 10 ...
Вход
Първото число N от входния файл задава броя на
примерите във файла. Всеки пример се задава на два реда - на първия ред
са броя на дадените елементи от редицата, започвайки от началото й, и поредният
номер на елемента, който трябва да стане пръв. На втория ред са дадените
членове на редицата, които са по-малки от 1000 и са не повече от 100.
Изход
За всеки пример от входния файл се извежда по едно число
в изходния файл - търсения брой стъпки.
Пример:
2
8 4
3 4 5 6 7 8 9 10
10 8
3 10 4 20 5 30 6 40 7 50
Решение на примера:
3
10