Chat:Ru/2020-12-27

From CG community
Jump to navigation Jump to search

MadKnight: чё вы делали в день xmas, который в рашке никто не отмечает?

Default avatar.png TTeaLL: http://chat.codingame.com/pastebin/8680f310-0852-4e3a-96c4-70056d2e60c6

Default avatar.png TTeaLL: допустим есть [7 . 3. 2. 1] список времени на задачи, и вот первый берётся за первую задачу на 7 минут, второй задачу за 3 минуты, второй справляется быстрее, делает задачу за 2 минуты после этого, и потом ещё и задачу на 1 минуту, то есть первый сделал одну задачу за 7 минут, второй 3 задачи по 3,2 и 1 минуте соответственно, но как сделать этот поток непрерывный

MadKnight: ответ-то какой нужен?

MadKnight: бери просто исполнителя с меньшей суммой времени и прибавляй время задачи к нему

MadKnight: ваще 1 строка

Default avatar.png TTeaLL: ну надо максимально большое вре мя

Default avatar.png TTeaLL: то есть, если 1 исполнитель делал 7 минут а другой 8 то надо ответить 8

Default avatar.png TTeaLL: вот как найти эту сумму времени

MadKnight: яж говорю

MadKnight: перебирай все значения

Default avatar.png TTeaLL: как поставить на поток работу

MadKnight: потом бери просто исполнителя с меньшей суммой времени и прибавляй время задачи к нему

Default avatar.png TTeaLL: нужна какая то очередь

MadKnight: тебе дана очередь

MadKnight: перебирай массив чисел

MadKnight: массив времени задачи

MadKnight: бери просто исполнителя с меньшей суммой времени и прибавляй время задачи к нему

Default avatar.png TTeaLL: ну вот [1, 2, 3] 2 исполнителя

MadKnight: 0, 0

MadKnight: 1, 0

MadKnight: 1, 2

MadKnight: 4, 2

Default avatar.png TTeaLL: первый сделал за минуту и взял третье за 3 минуты и того ответ 4 минуты, пока второй делал за 2 минуты

Default avatar.png TTeaLL: а как это реализовывается

MadKnight: бери просто исполнителя с меньшей суммой времени и прибавляй время задачи к нему

Default avatar.png TTeaLL: через for или вот я хз

MadKnight: 4й раз скопипастил

MadKnight: кнш через фор

Default avatar.png TTeaLL: ну типо, а вот как, я раньше только перебирал чезер 1 число, как сделать через 2

MadKnight: цикл в цикле надо будет

Default avatar.png TTeaLL: for heroes in range(n)

MadKnight: тебе надо выбирать по новой

MadKnight: исполнителя с минимумом

MadKnight: внутри цикла

Default avatar.png TTeaLL: а, ну вот тут уже чёт сложновато)

MadKnight: для этого есть min_by

MadKnight: или лучше пока учись ручками

MadKnight: не знаю

Default avatar.png TTeaLL: я понимаю что ответ простой, но не понимаю как именно это реализуется

MadKnight: яж сказал

MadKnight: цикл в цикле

MadKnight: начни

MadKnight: сейчас

Default avatar.png TTeaLL: ну то есть 2 фора есть

MadKnight: именно

Default avatar.png TTeaLL: так сек

MadKnight: один перебирает работы, другой - исполнителей

MadKnight: а на чём ты пишешь

Default avatar.png TTeaLL: питон

MadKnight: точн

Default avatar.png TTeaLL: так, не понял, что значит один работы второй исполнителей

MadKnight: то что перебирает цикл

MadKnight: а, тебе не нужны индексы

Default avatar.png TTeaLL: я думал циклы это типо и есть исполнители

MadKnight: тогда забей, сделай массив [1, 2] и сортируй его

MadKnight: сортируй и прибавляй к первому исполнителю в массиве

MadKnight: будет

MadKnight: [0, 0] -> [1, 0] -> [0, 1] -> [2, 1] -> [1, 2] -> [4, 2]

MadKnight: -> [2, 4]

MadKnight: а на вывод бери последнего

Default avatar.png TTeaLL: хммм

Default avatar.png TTeaLL: вот это уже реальнее

Default avatar.png TTeaLL: а если задано n исполниетлей

MadKnight: то в массиве будет n значений

MadKnight: уу

Default avatar.png TTeaLL: тядковато даётся что-то новое

MadKnight: тогда пили пока через min_by

Default avatar.png TTeaLL: ладно, я прочитаю про min_by

MadKnight: в питоне пишется не так

MadKnight: min_by - это то же что если ты отсортируешь и возьмёшь самый первый элемент

Default avatar.png TTeaLL: ну там фишка в том, что порядок сохраняется

MadKnight: ага

Default avatar.png TTeaLL: боже я кажется понял кое-что

Default avatar.png TTeaLL: for i in range(n)

MadKnight: лол

Default avatar.png TTeaLL: сори)

MadKnight: что понял?)

Default avatar.png TTeaLL: типо, просто в цикле, значения добавлять в отдельный сипоск

Default avatar.png TTeaLL: там их сравнивать

Default avatar.png TTeaLL: и в зависимости от старшинства добавлять в другой список исполнителей

Default avatar.png TTeaLL: не знай как нормально объяснить\

MadKnight: я тебя не понял, но звучит будто ты делаешь что-то не так

Default avatar.png TTeaLL: да

Default avatar.png TTeaLL: возможно

Default avatar.png TTeaLL: впервые с такой задачей столкнулся

MadKnight: а ты учишься где-то типа?

MadKnight: или всё сам?

Default avatar.png TTeaLL: всё сам, но я давно учусь

Default avatar.png TTeaLL: я не очень много внимания уделял задачкам, и вот сейчас их нагонять пытаюсь

MadKnight: хочешь тебе туториал дам?)

Default avatar.png TTeaLL: давай)

MadKnight: TTeaLL go v ЛС