Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Весёлые качели

(Время: 1 сек. Память: 32 Мб Сложность: 32%)

Однажды во дворе многоэтажки родители для своих n детей построили большие и прочные качели типа «качалка-балансир» в виде длинной балки, подвешенной в центре тяжести на шарнире так, что она может качаться в вертикальной плоскости.

Оказалось, что качаться на этих качелях интересно, когда качели уравновешены, то есть если модуль суммы моментов детей слева от центра качелей совпадает с модулем суммы моментов детей справа от центра. Напомним, что момент ребёнка равен произведению его массы на расстояние от него до центра качелей.

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

Более формально: для каждого ребёнка номер i с массой mi необходимо определить целое число di (di ≠ 0) – его позицию на качелях так, чтобы все di были различны и выполнялось равенство:

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

Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 1000) – количество детей.

Во второй строке заданы n целых чисел m1, m2, …, mn (1 ≤ mi ≤ 100), где mi обозначает массу i-го ребёнка в килограммах.

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

В выходной файл OUTPUT.TXT выведите «No», если решения не существует. В противном случае в первой строке выведите «Yes», а во второй строке – последовательность различных целых чисел di (1 ≤ |di| ≤ 109). Если существует несколько решений, выведите любое.

Гарантируется, что если решение существует, то найдётся и решение для |di| ≤ 109 при всех i.

Примеры

INPUT.TXTOUTPUT.TXTПояснение
11
1
NoНет решения
22
3 8
Yes
-8 3
3∙(–8) + 8∙3 = –24 + 24 = 0
35
1 2 3 4 2
Yes
5 -10 13 -8 4
1∙5 + 2∙(–10) + 3∙13 + 4∙(–8) + 2∙4 = 0

Система оценки

Решения, работающие только для случаев, когда присутствует хотя бы один ребёнок с массой в 1 килограмм, будут оцениваться в 50 баллов.

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки] [Решение]


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 ЕГЭ по информатике
 Тренировочные олимпиады
 Школьный этап
 Муниципальный этап
 Региональный этап
 Полуфинал ВКОШП
 Личное первенство СФУ
 2005 / 2006
 2006 / 2007
 2007 / 2008
 2008 / 2009
 2009 / 2010
 2010 / 2011
 2011 / 2012
 2012 / 2013
 2013 / 2014 7-8 классы
 2013 / 2014 9-11 классы
 2014 / 2015 7-8 классы
 2014 / 2015 9-11 классы
 2015 / 2016 7-8 классы
 2015 / 2016 9-11 классы
 2016 / 2017 7-8 классы
 2016 / 2017 9-11 классы
 2017 / 2018 7-8 классы
 2017 / 2018 9-11 классы
 2018 / 2019 7-8 классы
 2018 / 2019 9-11 классы
 2019 / 2020 7-8 классы
 2019 / 2020 9-11 классы
 2020 / 2021 7-8 классы
 2020 / 2021 9-11 классы
 2021 / 2022 7-8 классы
 2021 / 2022 9-11 классы
 2022 / 2023 7-8 классы
 2022 / 2023 9-11 классы
 2023 / 2024 7-8 классы
 2023 / 2024 9-11 классы
 2024 / 2025 7-8 классы
 2024 / 2025 9-11 классы
 A. Спираль
 B. Треугольник в прямоугольнике
 C. Весёлые качели
 D. Башенки из кубиков
 E. Площадь многоугольника
 F. Поход за грибами

Красноярский краевой Дворец пионеров, (c)2006 - 2025, ИНН 246305493507, E-mail: admin@acmp.ru



https://woodesis-art.kz королевские Окна в Алматы.   Керамзит в Москве Купить. Купить керамзит в Москве.   Купить товарный Бетон.