Задача к ЕГЭ по информатике на тему «практика программирования» №6

Подается массив из n натуральных чисел. Гарантируется, что в каждой i клетке число даёт остаток i от деления на n. В конце файла подается число k. Надо прибавить ко всем числам число k и при этом сохранить начальное условие (переписать это всё в новый массив). В качестве ответа укажите разность наибольшего и наименьшего из чисел, которые будут кратны числу n.

n = int(input())
 
ans = []
 
for i in range(n):
 
    ans.append((int(input())))
 
ans_new = [10000000] * len(ans)
 
num = int(input())
 
for j in range(len(ans)):
 
    ost = (ans[j] + num) % len(ans)
 
    if ans[j] + num < ans_new[ost]:
 
        ans_new[ost] = ans[j] + num
 
minim = ans_new[0]
 
ans_new = [-10000000] * len(ans)
 
for j in range(len(ans)):
 
    ost = (ans[j] + num) % len(ans)
 
    if ans[j] + num > ans_new[ost]:
 
        ans_new[ost] = ans[j] + num
 
print(ans_new[0]-minim)

Ответ: 0
Оцените статью
Я решу все!