Задача D. Пара чисел
Имя входного файла:
Имя выходного файла:
Ограничение по времени:
Ограничение по памяти:
Есть массив а состоящий из и целых чисел. Есть ли в массиве два различных индекса i и у такие,
что ад - а, равно сумме всех остальных чисел массива?
Формат входных данных
В первой строке дается длина массива n (3 < n < 105).
Во второй строке сам массив (1 5
сл сл
Формат выходных данных
Если есть два элемента массива, что их произведение равно сумме всех остальных элементов, то
выведите Примеры
56327
Казахстан, 12 марта, 2023
4
1236
стандартный ввод
стандартный вывод
1 секунда
256 мегабайт
Замечание
стандартный ввод
В первом примере 5 + 3 = 6 + 2 + 7.
YES
NO
стандартный вывод
Answers & Comments
Ответ:
Для решения этой задачи мы можем использовать два указателя, один на начало массива, другой на его конец. Мы начинаем сравнивать сумму первого и последнего элементов массива с суммой всех остальных элементов. Если сумма первого и последнего элементов больше суммы всех остальных элементов, то мы сдвигаем указатель на последний элемент на один влево. Если сумма первого и последнего элементов меньше суммы всех остальных элементов, то мы сдвигаем указатель на первый элемент на один вправо. Мы продолжаем это до тех пор, пока указатели не сходятся друг к другу или мы находим пару индексов, удовлетворяющих условию задачи.
Вот код на Python, который решает эту задачу:
```
n = int(input())
a = list(map(int, input().split()))
left = 0
right = n - 1
total_sum = sum(a)
while left < right:
if a[left] + a[right] == total_sum - a[left] - a[right]:
print("YES")
break
elif a[left] + a[right] < total_sum - a[left] - a[right]:
left += 1
else:
right -= 1
else:
print("NO")
```