|
44 / 31 / 13
Регистрация: 19.12.2022
Сообщений: 107
|
||||||
Коля и дата-центры21.03.2023, 14:03. Показов 19972. Ответов 34
Метки нет (Все метки)
Рано или поздно все крупные IT-компании создают свои дата-центры. Коля только устроился в такую компанию и еще не успел во всем разобраться. В его компании есть N дата-цетров,в каждом дата-центре установлено M серверов. Из-за большой нагрузки серверы могут выключаться. Из-за спешки при постройке дата-центров включить только один сервер не получается, поэтому приходится перезагружать весь дата-центр. У каждого дата-центра есть два неотрицательных целочисленных параметра: R(i) — число перезапусков i-го дата-центра и A(i) — число рабочих (не выключенных) серверов на текущий момент в i -м дата-центре. Коля получил задачу по сбору некоторых метрик, которые в будущем позволят улучшить работу дата-центов. Для этого Коля собрал данные о Q событиях, произошедших за текущий день. Коля справился с этой задачей, но просит помочь и проверить свои результаты.
Формат ввода: В первой строке входных данных записано 3 положительных целых числа n , m , q ( 1 ≤ q ≤ 1 0 5 , 1 ≤ n ⋅ m ≤ 1 0 6 ) — число дата-центров, число серверов в каждом из дата-центров и число событий соответственно. В последующих q строках записаны события, которые могут иметь один из следующих видов: RESET i — был перезагружен i -й дата-центр ( 1 ≤ i ≤ n ) DISABLE i j — в i -м дата-центре был выключен j -й сервер ( 1 ≤ i ≤ n , 1 ≤ j ≤ m ) GETMAX — получить номер дата-центра с наибольшим произведением R(i) ∗ A(i) GETMIN — получить номер дата-центра с наименьшим произведением R(i) ∗ A(i) Формат вывода: На каждый запрос вида GETMIN или GETMAX выведите единственное положительное целое число — номер дата-центра, подходящий под условие. В случае неоднозначности ответа выведите номер наименьшего из дата-центров. Пример ввода: 3 3 12 DISABLE 1 2 DISABLE 2 1 DISABLE 3 3 GETMAX RESET 1 RESET 2 DISABLE 1 2 DISABLE 1 3 DISABLE 2 2 GETMAX RESET 3 GETMIN Пример вывода: 1 2 1 Еще пример ввода: 2 3 9 DISABLE 1 1 DISABLE 2 2 RESET 2 DISABLE 2 1 DISABLE 2 3 RESET 1 GETMAX DISABLE 2 1 GETMIN Пример вывода: 1 2 Примечания Обратите внимание на 2 пример. DISABLE приходится для уже выключенного сервера. В данном случае сервер по-прежнему остаётся выключенным. У меня уже есть код:
0
|
||||||
| 21.03.2023, 14:03 | |
|
Ответы с готовыми решениями:
34
Дата-Центры Как отсортировать посетителей к примеру дата центры типа Гугл и частную сеть Нужно создать функцию которая будет вычислять центры этих фигур,а потом создать еще одну функцию которая уже будет рисовать эти точки(центры)в фигурах |
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 16.04.2023, 16:03 | |
|
Grootys, есть оптимизация для случая большого количества дата-центров.
В кучу надо класть только ДЦ, с серверами которых проводились действия. Понятно, что максимум будет среди них. А для минимума, пока есть сервера с которыми не было никаких действий, то можно выдавать ответ с помощью словаря, поскольку с какой-то версии (3.6 или 3.7 кажется) гарантирован порядок - надо только удалять ключи. А в случае, если n > q (а в тесте, который заваливается, подозреваю так и есть), то куча на минимум вообще не нужна. Например, для случая 50К дата-центров, это кратно повысит скорость, а для 10К должен работать и старый код.
1
|
|
|
3 / 2 / 1
Регистрация: 17.09.2021
Сообщений: 5
|
|
| 16.04.2023, 17:57 | |
|
eaa, https://coderun.yandex.ru/ заходи в Сезоны выбирай Бэкенд, регайся, потом найдешь в треке бэкенда 325 задача среднего уровня "Коля и датацентры"
Добавлено через 3 минуты eaa, я кстати на с++ переписал с использованием queue и 2мя своими компараторами, падает с TL на том же 54м тесте, если нужно могу скинуть
0
|
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 16.04.2023, 21:27 | |
|
eaa, по видимому да. Моя "оптимизация" не работает, хотя на случайных значениях укладывается в секунду.
Придется писать красно-черное дерево.
0
|
|
|
1 / 1 / 2
Регистрация: 24.07.2013
Сообщений: 8
|
|
| 17.04.2023, 00:23 | |
|
найс отсев, конечно, придумали.
проще на аа сходить и там связный список развернуть, чем этот треш решать... Решил таки эту задачу, но остальные две свои задачи уже сил и желания не было решать. Хотя там с виду тоже трешачок и всякие ограничения будут -_- Интересно, одинаковые ли у всех задачи
0
|
|
|
3 / 2 / 1
Регистрация: 17.09.2021
Сообщений: 5
|
|
| 17.04.2023, 00:31 | |
|
Falazure, так скинь решение то правильное)) я уже сутки решаю эту хню
0
|
|
|
814 / 422 / 169
Регистрация: 08.02.2013
Сообщений: 711
|
|||||||||||
| 17.04.2023, 02:18 | |||||||||||
4
|
|||||||||||
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 17.04.2023, 13:13 | |
|
rRczZZ, это была фантазия, пораженная больным воображением, поэтому даже обсуждать не хочется. И ведь понимал, что несу дичь, но было не остановить. У себя то я даже не пытался это реализовать, а сделал эту штуку обычным проходом по массиву ) Только проблема в тесте, как, спасибо вам, выяснилось, была не в большом n, а скорее в большом m, потому и не сработала.
Отдельное спасибо за возвращение веры в битовую арифметику. Я как-то замерял скорости взятия последнего бита со взятием остатка на 2 и вторая у меня выиграла. Догадываюсь, что сравнивал двенадцать с дюжиной, но осадок остался...
0
|
|
|
155 / 102 / 12
Регистрация: 22.07.2010
Сообщений: 445
|
|
| 22.04.2023, 14:42 | |
|
Кто-нибудь в курсе того можно ли как-то отправлять решение когда закончилось время?
0
|
|
|
44 / 31 / 13
Регистрация: 19.12.2022
Сообщений: 107
|
|
| 22.04.2023, 15:34 [ТС] | |
|
Grootys написал лучшее решение из предложенных) Я забыл про эту тему, но пришел в итоге к выводу что эту задачу лучше было писать на C++, как отметил eaa.
0
|
|
|
155 / 102 / 12
Регистрация: 22.07.2010
Сообщений: 445
|
||||||
| 22.04.2023, 16:17 | ||||||
|
Я на плюсах такое написал, но почему-то валится на 56 тесте. Вместо 2 выводит 1.
0
|
||||||
|
814 / 422 / 169
Регистрация: 08.02.2013
Сообщений: 711
|
||
| 22.04.2023, 20:07 | ||
|
Mencey, std::map<Key,T,Compare,Allocator>::operator[]
0
|
||
|
814 / 422 / 169
Регистрация: 08.02.2013
Сообщений: 711
|
|
| 23.04.2023, 13:15 | |
|
Mencey, до меня дошел финт со скобками.. , тогда здесь переполнение, нужно заменить тип
int на long long везде где хранится произведение (в dc_key, ra_val, is_disabled, ra_cur, a).
0
|
|
| 23.04.2023, 13:15 | |
|
Ходил ли Коля в кино? На чем сидит Коля, Света и Оля? Задача по перемещению колец через коля Коля - легкоатлет. Он очень любит челночный бег Какое количество информации содержится в сообщении «Коля учится на 4 и 5» Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|