|
4 / 6 / 1
Регистрация: 16.04.2022
Сообщений: 139
|
|
Определить минимальное и максимальное количество дней, которое прошло от сообщения14.05.2022, 10:59. Показов 2796. Ответов 10
Метки нет (Все метки)
Известны дни, когда геймеры писали сообщения на форумах (не более одного сообщения в день), а так же дни, когда разработчики отвечали (так же не более одного сообщения в день).
Ваша задача — определить минимальное и максимальное количество дней, которое прошло от сообщения какого-либо геймера до ближайшего к нему ответа разработчиков (известно, что разработчики в итоге написали ответы на все вопросы геймеров, некоторые ответы могли быть сразу на несколько вопросов). Замечание. Разработчики отвечают утром, а геймеры пишут свои вопросы вечером, поэтому, если геймер задал вопрос в день d, то ответ он получит как минимум в день d+1. Входные данные В первой строке содержатся целые числа n и m (1≤n≤105,1≤m≤10000) — количество ответов разработчиков и количество вопросов геймеров. Во второй строке содержится n целых чисел s1,s2,…,sn (1≤s1<s2<…<sn≤1000000000) — номера дней, когда разработчики давали ответ. В третьей строке содержится целых чисел p1,p2,…,pm (1≤p1<p2<…<pm<sn) — номера дней, в которые геймеры писали вопросы на форуме. Выходные данные Выведите два целых числа — минимальное и максимальное количество дней, которое прошло от сообщения какого-либо геймера до ближайшего к нему ответа разработчиков. Разделяйте числа пробелом или переводом строки. Примеры входные данные 7 10 1 5 13 23 25 30 31 2 4 5 12 15 22 24 25 28 30 выходные данные 1 8 ------------------------------------------ входные данные 3 2 1 5 100 8 64 выходные данные 36 92 ------------------------------------------ Примечание: В первом примере на вопросы в день 2 и 4 будет получен ответ от разработчиков в день 5 (надо будет подождать 3 дня и 1 день, соответственно). Вопросы в дни 5 и 12 будут отвечены в день 13 (ожидание 8 дней и 1 день). Вопрос в день 5 не может быть отвечен в день 5, так как был задан вечером (все вопросы задаются вечером), а разработчики отвечают утром (все ответы разработчики пишут с утра после чашечки хорошего кофе с печеньем любятово, которое доставляется ООО "Я из Села"). На вопросы, поступившие в дни 15 и 22, будет получен ответ в день 23 (ожидание 8 дней и 1 день). На вопрос в день 24 будет получен ответ в день 25 (1 день ожидания). Вопросы в дни 25 и 28 будут отвечены в день 30 (ожидание 5 дней и 2 дня, соответственно). Вопрос в день 30 - ответ в день 31 (1 день ждать). Во втором примере оба вопроса будут отвечены в день 100 (ожидание 92 дня и 36 дней, соответственно).
1
|
|
| 14.05.2022, 10:59 | |
|
Ответы с готовыми решениями:
10
Найти минимальное и максимальное возможное количество минут, за которое спортсмен пробегает один круг В массиве записан курс евро за 14 дней. Определить минимальное значение курса за первую неделю и максимальное за вторую Определить минимальное количество пролетов, которое нужно проехать чтобы определить неисправные индикаторы |
|
4 / 6 / 1
Регистрация: 16.04.2022
Сообщений: 139
|
|
| 14.05.2022, 13:36 [ТС] | |
|
3адачу решить
1
|
|
|
7 / 6 / 1
Регистрация: 18.02.2022
Сообщений: 30
|
|
| 14.05.2022, 13:36 | |
Сообщение было отмечено NebraskKrasnod как решение
Решение
ну это чисто на дп сделай там через шашку и готово
1
|
|
|
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
|
||||||
| 14.05.2022, 20:23 | ||||||
|
NebraskKrasnod, Написал за 5 мин. Скорее всего можно было сделать как-то более эстетично. Но данные тесты проходит.
1
|
||||||
|
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
|
|
| 14.05.2022, 21:44 | |
|
eaa, Почему? Там сложность O(n), где n = len(s) + len(p). Конструкция из вложенных циклов хоть и выглядит страшно как O(n^2), но реально по каждому пробегаются всего один раз.
Просто очень лень было думать, как это красиво оформить при помощи while. Добавлено через 12 минут eaa, Там единственная проблема, что во внутреннем цикле, каждый раз создается срез, что требует определенного времени. Хотя я не знаю, как это устроено внутри Python. Создает ли он его физически (делает копию), или там работает что-то типа генератора, который просто берет значения из текущего списка с определенной позиции.
1
|
|
|
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
|
|
| 14.05.2022, 21:52 | |
|
anton78spb,цикл по "p" с бинпоиском по "s" быстрее будет...
1
|
|
|
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
|
||||||
| 14.05.2022, 22:59 | ||||||
Сообщение было отмечено NebraskKrasnod как решение
Решение
Gdez, Вот такой вариант еще в голову пришел. Просто последовательный проход по двум спискам.
eaa, Gdez, Сравнил быстродействие обоих вариантов. Сгенерировал последовательности длинной 50К. Похоже Python действительно генерирует новый список, когда создает срез. Скорость увеличилась на несколько порядков. Первый вариант: 142.984 sec. Второй вариант (через while): 0.051 sec.
3
|
||||||
|
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
|
||||||
| 14.05.2022, 23:50 | ||||||
|
anton78spb, У меня так:
2
|
||||||
|
Status 418
|
|
| 15.05.2022, 07:24 | |
|
anton78spb, да тут merge через два указателя.
1
|
|
| 15.05.2022, 07:24 | |
|
Помогаю со студенческими работами здесь
11
Определить количество, минимальное и максимальное из введенных чисел Определить полугодие, на которое приходится месяц с номером m и количество дней в том месяце Определить максимальное количество кубиков, которое есть в кубе
Определить минимальное количество цепей, на которое разбивается данный набор доминошек Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|