Хранители равновесия

Просмотр в формате PDF

Submit solution

Очки: 100
Ограничение по времени: 1.0s
Ограничение по памяти: 64M

Автор:
Problem type
Allowed languages
C++, Python

Хранители равновесия

В древнем архиве хранятся n магических печатей. Для каждой печати известно её значение силы ai.

Мудрецы хотят восстановить последовательность из n энергетических узлов b1, b2, ..., bn так, чтобы для каждой печати нашлись два узла bj и bk, разность сил которых в точности равна значению этой печати:

ai = bj - bk

При этом для разных печатей можно выбирать разные пары узлов, а узлы можно использовать многократно.

Ваша задача — определить, можно ли подобрать такую последовательность узлов b.

Входные данные

В первой строке записано одно целое число t — количество наборов входных данных.

Далее следуют описания наборов.

Первая строка каждого набора содержит одно целое число n — количество печатей.

Вторая строка каждого набора содержит n целых чисел a1, a2, ..., an — значения сил печатей.

Выходные данные

Для каждого набора выведите:

  • YES, если существует последовательность b длины n, удовлетворяющая условию;
  • NO в противном случае.

Ограничения

  • 1 <= t <= 1000
  • 1 <= n <= 10
  • -10^4 <= ai <= 10^4

Пример

Входные данные
3
2
1 1
3
1 2 4
4
1 3 2 1
Выходные данные
YES
NO
YES

Пояснение

В первом наборе можно взять узлы так, чтобы разность некоторых пар давала значение 1 для обеих печатей.

Во втором наборе подобрать последовательность узлов нужной длины нельзя.

В третьем наборе подходящая последовательность существует, поэтому ответ YES.


Комментарии

Еще нет ни одного комментария.