


Срочно помогите с информатикой /..
A. Как в Простоквашино картошку копали
Ограничение времени 1 секунда
Ограничение памяти 64.0 Мб
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
В 2023 году 50 лет исполняется прекрасной позитивной книге «Дядя Федор, пес и кот» Э.Н. Успенского. Поэтому вам предстоит отметить этот юбилей решением задач по программированию. Однажды дядя Федор, пес и кот копали картошку на своем огороде. Складывали они выкопанные клубни кучками: в первой – один, во второй – два, в третьей – три и так далее. Потом Матроскин и Шарик поссорились и каждый решил собрать себе большую кучу. Дядя Федор вовремя вмешался и разрешил им забрать только кучки с номерами от A до B включительно, причем Матроскину можно собирать только кучи с чётным количеством клубней, а Шарику – с нечетным. Но на этом ссора не закончилась: пёс и кот начали бурно спорить, у кого куча будет больше. Помогите дяде Федору разрешить этот спор.
От Вас требуется написать программу, которая определит разность между количеством картофелин в куче Матроскина и количеством в куче Шарика.
Формат входного файла Первая строка входных данных содержит два целых положительных числа A и B, не превосходящие 2×109.
Формат выходного файла Программа должна вывести одно число – указанную в условии задачи разность. Пример входного и выходного файлов
Примечание к примеру: В первом примере сумма чётных кучек равна 4 + 6 = 10, сумма нечётных кучек равна 3 + 5 = 8, разность равна 2. Во втором примере сумма чётных кучек равна 4 + 6 = 10, сумма нечётных кучек равна 3 + 5 + 7 = 15, разность равна -5. Система оценивания Решение, правильно работающее только для случаев, когда числа A и B не превосходят 100, будет оцениваться в 60 баллов.
Программа может быть реализована на основе математических вычислений без явного перебора всех чисел от A до B.
Основная идея в том, что сумма чисел от 1 до N равна N*(N+1)/2. Это можно применить для суммирования всех чётных и всех нечётных чисел в заданном диапазоне.
Ниже приведен код на языке Python, который решает данную задачу:
```python
def sum_even(n):
return n // 2 * (n // 2 + 1) if n % 2 == 0 else (n + 1) // 2 * ((n + 1) // 2)
def sum_odd(n):
return (n // 2) * (n // 2) if n % 2 == 0 else ((n + 1) // 2) * ((n + 1) // 2)
def main():
A, B = map(int, input().split())
sum_even_A = sum_even(A - 1)
sum_even_B = sum_even(B)
sum_odd_A = sum_odd(A - 1)
sum_odd_B = sum_odd(B)
result = (sum_even_B - sum_even_A) - (sum_odd_B - sum_odd_A)
print(result)
if __name__ == "__main__":
main()
```
Этот код определяет сумму чётных и нечётных чисел в диапазоне от A до B, используя формулы для вычисления суммы чисел от 1 до N для чётных и нечётных чисел соответственно. Затем он находит разность между суммами чётных и нечётных чисел в диапазоне от A до B и выводит эту разность.
Сама думай