eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків

DHONDT

На початку грудня в нашій країні відбулися парламентські вибори. Азербайджан розділений на 10 виборчих округів. Від кожного регіону обирається по 14 депутатів. Кожен із виборців голосує за одну з небагатьох партій. Після голосування представники обираються за методом Д'Ондта (D"Ont). За цим методом спочатку відбираються партії, які набрали не менше 5% голосів. Потім кількість голосів кожної з обраних партій ділиться на кожне число від 1 до 14. Таким чином ми присвоюємо 14 раціональних чисел - назвемо їх «балами» - кожній із сторін. Перше з 14 представників у регіоні обирають із партії, яка набрала найбільшу кількість балів. Другий представник вибирається з партії з другим за величиною балом. Третій... Ця процедура триває, поки не будуть обрані всі 14 місць. Примітка. Завжди буде унікальний спосіб обрання представників, тобто немає двох рівних балів. Напишіть програму, яка, враховуючи загальну кількість виборців і кількість голосів, набраних кожною партією, визначає, скільки політиків було обрано представниками регіону від кожного вечірка. Деякі партії набрали незначну кількість голосів і не будуть у вхідних даних – тому загальна кількість виборців може не дорівнювати сумі голосів у списку у вхідних даних.

Вхідні дані:

перший рядок містить натуральне число X(1 ≤ X ≤ 2 500 000), загальну кількість виборців у цьому регіоні. Другий рядок містить натуральне число N (0 ≤ N ≤ 10), кількість сторін, яку ми розглядаємо. Наступні N рядків містять два натуральних числа, розділених одним пропуском: ідентифікатор партії (велика літера англійського алфавіту) і натуральне число G (0 ≤ G ≤ 250 000), кількість голосів, набраних цією партією.

Вихідні дані:

Вихідні дані складаються з кількості рядків, що дорівнює кількості партій, які набрали принаймні 5% голосів. Для кожної з цих партій надрукуйте ідентифікатор партії та кількість парламентських представників, обраних від цієї партії. Рядки повинні бути відсортовані за ідентифікаторами в алфавітному порядку.

Ліміт часу 1 секунда
Ліміт використання пам'яті 32 MiB
Вхідні дані #1
235217
3
A 107382
C 18059
B 43265
Вихідні дані #1
A 9
B 4
C 1
Вхідні дані #2
245143
4
F 14845
A 104516
B 52652
C 14161
Вихідні дані #2
A 8
B 4
C 1
F 1
Вхідні дані #3
206278
5
D 44687
A 68188
C 7008
B 48377
G 9665
Вихідні дані #3
A 6
B 4
D 4
Джерело Croatian Open Olympiad Round3 2011/2012