| 1 Кахрамон, 28 января 2026 г. 8:05:53 |
| import sys def solve(): input_data = sys.stdin.read().split() if not input_data: return n = int(input_data[0]) items = [] unit_base = { 'g': 10**6, 'p': 16380 * 10**6, 't': 10**12 } prefixes = { 'm': 10**3, 'k': 10**9, 'M': 10**12, 'G': 10**15 } idx = 1 for i in range(n): val = int(input_data[idx]) unit_str = input_data[idx+1] if len(unit_str) == 1: total_mcg = val * unit_base[unit_str] elif unit_str == 'mg': total_mcg = val * 10**3 else: p = unit_str[0] b = unit_str[1:] total_mcg = val * prefixes[p] * (unit_base[b] // 10**6) items.append({ 'mcg': total_mcg, 'orig': f"{val} {unit_str}", 'pos': i }) idx += 2 items.sort(key=lambda x: (x['mcg'], x['pos'])) for item in items
|
|
|
| 2 Шохрух Нарзуллаев, 12 июня 2025 г. 12:18:14 |
| Решил не используя ни double, ни int128, а просто с int-ом =).
|
|
|
| 3 Аташев Аташ, 28 мая 2024 г. 12:16:07 |
| Решил используя double.Если бы там было а=1...1000000000 с double-ом решить было бы невозможно.
|
|
|
| 4 Лужков Артем Олегович, 01 января 2024 г. 19:45:12 |
| __int128 творит чудеса! :)
|
|
|
| 5 Арсланбек Зулунов Фарходович, 28 мая 2021 г. 21:02:48 |
| я не буду длинку писать. Спасибо Ивану Михновичу за __int128. Я тут решаю задачи на сортировки, а не на длинки.
|
|
|
| 6 Волков Демьян Сергеевич, 09 января 2020 г. 0:13:43 |
| Те, кто пишет на Python'е, коэффициент 10^-3=1/1000 (для мили-) выражайте как fractions.Fraction(1, 1000), предварительно импортировав модуль fractions (иначе не пройдёт из-за низкой точности вещественных чисел)
|
|
|
| 7 Ерёменко Владислав Владиславович, 28 октября 2019 г. 20:32:11 |
| Дам совет: не пытайтесь работать с вещественными числами, т.к. они очень странно делятся и умножаются. Из-за этого у них появляются различные хвостики, что мешают их сравнению.
|
|
|
| 8 Иван Михнович, 19 октября 2019 г. 16:18:45 |
| В GCC есть встроенный нестандартный тип __int128, который позволяет решить эту задачу безо всяких хитростей и без длинной арифметики, просто переведя все массы в миллиграммы. Чтобы избежать необходимости выводить тип на экран достаточно запомнить строковое представление каждой массы.
|
|
|
| 9 Касым-Жомарт Кемелевич Токаев, 25 апреля 2019 г. 21:08:37 |
| Осторожно,при переводе в мг вы можете выйти за пределы long long,10^4*10^6*10^9*10^3
|
|
|
| 10 Орёл Даниил Юрьевич, 15 ноября 2017 г. 9:36:44 |
Уважаемый администратор, если вы тут бываете, почему такой высокий рейтинг сложности и низкая решаемость? Тут же просто реализация, плюс в условии есть интересная подсказка.
|
|
|
| 11 Франц Фердинанд, 05 ноября 2017 г. 9:28:47 |
| Перевод в миллиграммы решает всё.
|
|
|
| 12 Юсупов Темиржан Нурланович, 24 мая 2016 г. 14:58:59 |
| Попробуйте tuple, полезный шаблон
|
|
|
| 13 Зыков Алексей Александрович, 01 мая 2016 г. 17:52:01 |
| Если не выходит, можно похимичить и для каждого веса сохранять его номер в позиции. И если 2 массы равны, то сравнивать их изначальные места в файле.
|
|
|
| 14 Дестр Де, 11 января 2016 г. 12:51:48 |
| У кого вдруг не получается, подсказка: проходит самая элементарная сортировка пузырьком, только надо аккуратно учесть все единицы измерения, ну и подумать, что именно сортировать и что именно выводить в качестве ответа.
|
|
|
| 15 Азрет Кенжалиев, 18 декабря 2014 г. 9:39:25 |
| Для тех кто пишет на C++ подсказка: используйте stable_sort (<algorithm>), он поможет отсортировать по позициям.
|
|
|
| 16 Слава роботам, 06 декабря 2011 г. 14:13:53 |
| я почему-то думал что сортировка выбором не меняет порядок элементов, но потом до меня дошло, что это на самом деле не так. сделал пузырьком (вставками я думаю тоже можно было), всё стало окей.
|
|
|
| 17 Гамисония <Censored> Эльдар, 26 июля 2011 г. 11:50:20 |
| решил задачу переводя всё в милиграммы и храня эти значения в строке(что бы не было длинки)
|
|
|
| 18 Хамитбеков Мади, 09 февраля 2011 г. 9:18:19 |
на тест: 15 1 mg 1 g 1 kg 1 Mg 1 mp 1 p 1 kp 1 Mp 1 Gp 1 mt 1 t 1 kt 1 Gg 1 Mt 1 Gt ответ: 1 mg 1 g 1 mp 1 kg 1 mt 1 p 1 Mg 1 t 1 kp 1 kt 1 Gg 1 Mp 1 Mt 1 Gp 1 Gt ? Да.
|
|
|
| 19 Хамитбеков Мади, 09 февраля 2011 г. 8:42:19 |
| перевожу все в миллиграммы =)
|
|
|
| 20 A.S., 01 февраля 2011 г. 5:06:30 |
| Что-то мне подсказывает, что там очень длинные вещественные числа и знак "<" выполняется неправильно. Подскажите пожалуйста, как можно сравнивать такие числа?
|
|
|