Всем известно, что «от перестановки слагаемых сумма не изменяется». Однако, случается и так, что перестановка двух чисел приводит к более интересным последствиям.
Пусть, например, заданы три числа: a1, a2, a3. Рассмотрим равенство a1+ a2= a3. Оно может быть неверным (например, если a1= 1, a2= 4, a3= 3), однако может стать верным, если поменять некоторые числа местами (например, если поменять местами a2 и a3, оно обратится в равенство 1 + 3 = 4).
Ваша задача – по заданным трем числам определить: можно ли их переставить так, чтобы сумма первых двух равнялась третьему.
Примеры
Пусть, например, заданы три числа: a1, a2, a3. Рассмотрим равенство a1+ a2= a3. Оно может быть неверным (например, если a1= 1, a2= 4, a3= 3), однако может стать верным, если поменять некоторые числа местами (например, если поменять местами a2 и a3, оно обратится в равенство 1 + 3 = 4).
Ваша задача – по заданным трем числам определить: можно ли их переставить так, чтобы сумма первых двух равнялась третьему.
Входные данные
Входной файл INPUT.TXT содержит три целых числа: a1, a2, a3 (−100000000 ≤ a1, a2, a3 ≤ 100000000).
Входной файл INPUT.TXT содержит три целых числа: a1, a2, a3 (−100000000 ≤ a1, a2, a3 ≤ 100000000).
Выходные данные
В выходной файл OUTPUT.TXT выведите слово «YES», если заданные числа можно переставить так, чтобы сумма первых двух равнялась третьему. В противном случае выведите в выходной файл слово «NO».
В выходной файл OUTPUT.TXT выведите слово «YES», если заданные числа можно переставить так, чтобы сумма первых двух равнялась третьему. В противном случае выведите в выходной файл слово «NO».
Примеры
|
№
|
INPUT.TXT
|
OUTPUT.TXT
|
|
1
|
3 5 2
|
YES
|
|
2
|
2 2 5
|
NO
|
|
3
|
2 2 4
|
YES
|
var r,n,t:longint; f,f1:text; begin assign(f,'input.txt'); reset(f); read(f,r,n,t); close(f); assign(f1,'output.txt'); rewrite(f1); if (r=n+t) or (n=r+t) or (t=r+n) then write(f1,'YES') else write(f1,'NO'); close(f1); end.
Комментариев нет:
Отправить комментарий