Марья Ивановна работает завскладом металлов на ювелирном производстве.
В компьютере у неё есть данные об остатках партий золотых слитков.
Для каждого слитка известны его масса и проба (содержание золота, в граммах
на 1 килограмм сплава).
К Марье Ивановне приходит литейщик и сообщает, что ему нужно отлить слиток
пробы p массой m граммов. Для решения этой задачи можно взять любую
часть от любого слитка со склада.
Напишите программу, автоматизирующую эту операцию.
Исходные данные
Первая строка содержит целые числа n, m и p (1 ≤ n
≤ 1000; 1 ≤ m ≤ 1 000 000; 0 ≤ p
≤ 1000). В следующих n строках описываются слитки, имеющиеся в
наличии на складе, по одному в строке. Описание слитка — пара целых
чисел mi, pi —
масса слитка в граммах и его проба
(1 ≤ mi ≤ 1000; 0 ≤ pi ≤ 1000).
Результат
Если можно выполнить требование литейщика, в первой строке выведите
«YES». Далее по одному в строке выведите n чисел
xi, означающих сколько граммов нужно взять из каждого
слитка. Выводите эти числа с максимально возможной точностью. Ответ будет
считаться верным, если будут выполняться следующие неравенства:
Если существует несколько способов отлить слиток, выведите любой из них.
Если требование литейщика выполнить невозможно, в единственной строке
выведите «NO».
Примеры
исходные данные | результат |
---|
4 150 750
100 1000
150 585
100 750
100 0
| YES
75.000000000
0.000000000
50.000000000
25.000000000
|
1 100 1000
200 0 | NO |
Автор задачи: Василий Бурнин
Источник задачи: XI открытое личное первенство УрГУ (13 марта 2010)