[{"data":1,"prerenderedAt":3021},["ShallowReactive",2],{"navigation":3,"\u002Fblog\u002Fege\u002Ftask22":386,"\u002Fblog\u002Fege\u002Ftask22-surround":3016},[4],{"title":5,"path":6,"stem":7,"children":8,"page":114},"Blog","\u002Fblog","blog",[9,115,184,329],{"title":10,"path":11,"stem":12,"children":13,"page":114},"Ege","\u002Fblog\u002Fege","blog\u002Fege",[14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110],{"title":15,"path":16,"stem":17},"ЕГЭ Задание 1","\u002Fblog\u002Fege\u002Ftask1","blog\u002Fege\u002Ftask1",{"title":19,"path":20,"stem":21},"ЕГЭ Задание 10","\u002Fblog\u002Fege\u002Ftask10","blog\u002Fege\u002Ftask10",{"title":23,"path":24,"stem":25},"ЕГЭ Задание 11","\u002Fblog\u002Fege\u002Ftask11","blog\u002Fege\u002Ftask11",{"title":27,"path":28,"stem":29},"ЕГЭ Задание 12","\u002Fblog\u002Fege\u002Ftask12","blog\u002Fege\u002Ftask12",{"title":31,"path":32,"stem":33},"ЕГЭ Задание 13","\u002Fblog\u002Fege\u002Ftask13","blog\u002Fege\u002Ftask13",{"title":35,"path":36,"stem":37},"ЕГЭ Задание 14","\u002Fblog\u002Fege\u002Ftask14","blog\u002Fege\u002Ftask14",{"title":39,"path":40,"stem":41},"ЕГЭ Задание 15","\u002Fblog\u002Fege\u002Ftask15","blog\u002Fege\u002Ftask15",{"title":43,"path":44,"stem":45},"ЕГЭ Задание 16","\u002Fblog\u002Fege\u002Ftask16","blog\u002Fege\u002Ftask16",{"title":47,"path":48,"stem":49},"ЕГЭ Задание 17","\u002Fblog\u002Fege\u002Ftask17","blog\u002Fege\u002Ftask17",{"title":51,"path":52,"stem":53},"ЕГЭ Задание 18","\u002Fblog\u002Fege\u002Ftask18","blog\u002Fege\u002Ftask18",{"title":55,"path":56,"stem":57},"ЕГЭ Задание 19, 20, 21","\u002Fblog\u002Fege\u002Ftask19_20_21","blog\u002Fege\u002Ftask19_20_21",{"title":59,"path":60,"stem":61},"ЕГЭ Задание 2","\u002Fblog\u002Fege\u002Ftask2","blog\u002Fege\u002Ftask2",{"title":63,"path":64,"stem":65},"ЕГЭ Задание 22","\u002Fblog\u002Fege\u002Ftask22","blog\u002Fege\u002Ftask22",{"title":67,"path":68,"stem":69},"ЕГЭ Задание 23","\u002Fblog\u002Fege\u002Ftask23","blog\u002Fege\u002Ftask23",{"title":71,"path":72,"stem":73},"ЕГЭ Задание 24","\u002Fblog\u002Fege\u002Ftask24","blog\u002Fege\u002Ftask24",{"title":75,"path":76,"stem":77},"ЕГЭ Задание 25","\u002Fblog\u002Fege\u002Ftask25","blog\u002Fege\u002Ftask25",{"title":79,"path":80,"stem":81},"ЕГЭ Задание 26","\u002Fblog\u002Fege\u002Ftask26","blog\u002Fege\u002Ftask26",{"title":83,"path":84,"stem":85},"ЕГЭ Задание 27","\u002Fblog\u002Fege\u002Ftask27","blog\u002Fege\u002Ftask27",{"title":87,"path":88,"stem":89},"ЕГЭ Задание 3","\u002Fblog\u002Fege\u002Ftask3","blog\u002Fege\u002Ftask3",{"title":91,"path":92,"stem":93},"ЕГЭ Задание 4","\u002Fblog\u002Fege\u002Ftask4","blog\u002Fege\u002Ftask4",{"title":95,"path":96,"stem":97},"ЕГЭ Задание 5","\u002Fblog\u002Fege\u002Ftask5","blog\u002Fege\u002Ftask5",{"title":99,"path":100,"stem":101},"ЕГЭ Задание 6","\u002Fblog\u002Fege\u002Ftask6","blog\u002Fege\u002Ftask6",{"title":103,"path":104,"stem":105},"ЕГЭ Задание 7","\u002Fblog\u002Fege\u002Ftask7","blog\u002Fege\u002Ftask7",{"title":107,"path":108,"stem":109},"ЕГЭ Задание 8","\u002Fblog\u002Fege\u002Ftask8","blog\u002Fege\u002Ftask8",{"title":111,"path":112,"stem":113},"ЕГЭ Задание 9","\u002Fblog\u002Fege\u002Ftask9","blog\u002Fege\u002Ftask9",false,{"title":116,"path":117,"stem":118,"children":119,"page":114},"Oge","\u002Fblog\u002Foge","blog\u002Foge",[120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180],{"title":121,"path":122,"stem":123},"ОГЭ Задание 1","\u002Fblog\u002Foge\u002Ftask1","blog\u002Foge\u002Ftask1",{"title":125,"path":126,"stem":127},"ОГЭ Задание 10","\u002Fblog\u002Foge\u002Ftask10","blog\u002Foge\u002Ftask10",{"title":129,"path":130,"stem":131},"ОГЭ Задание 11","\u002Fblog\u002Foge\u002Ftask11","blog\u002Foge\u002Ftask11",{"title":133,"path":134,"stem":135},"ОГЭ Задание 12","\u002Fblog\u002Foge\u002Ftask12","blog\u002Foge\u002Ftask12",{"title":137,"path":138,"stem":139},"ОГЭ Задание 13","\u002Fblog\u002Foge\u002Ftask13","blog\u002Foge\u002Ftask13",{"title":141,"path":142,"stem":143},"ОГЭ Задание 14","\u002Fblog\u002Foge\u002Ftask14","blog\u002Foge\u002Ftask14",{"title":145,"path":146,"stem":147},"ОГЭ Задание 15","\u002Fblog\u002Foge\u002Ftask15","blog\u002Foge\u002Ftask15",{"title":149,"path":150,"stem":151},"ОГЭ Задание 16","\u002Fblog\u002Foge\u002Ftask16","blog\u002Foge\u002Ftask16",{"title":153,"path":154,"stem":155},"ОГЭ Задание 2","\u002Fblog\u002Foge\u002Ftask2","blog\u002Foge\u002Ftask2",{"title":157,"path":158,"stem":159},"ОГЭ Задание 3","\u002Fblog\u002Foge\u002Ftask3","blog\u002Foge\u002Ftask3",{"title":161,"path":162,"stem":163},"ОГЭ Задание 4","\u002Fblog\u002Foge\u002Ftask4","blog\u002Foge\u002Ftask4",{"title":165,"path":166,"stem":167},"ОГЭ Задание 5","\u002Fblog\u002Foge\u002Ftask5","blog\u002Foge\u002Ftask5",{"title":169,"path":170,"stem":171},"ОГЭ Задание 6","\u002Fblog\u002Foge\u002Ftask6","blog\u002Foge\u002Ftask6",{"title":173,"path":174,"stem":175},"ОГЭ Задание 7","\u002Fblog\u002Foge\u002Ftask7","blog\u002Foge\u002Ftask7",{"title":177,"path":178,"stem":179},"ОГЭ Задание 8","\u002Fblog\u002Foge\u002Ftask8","blog\u002Foge\u002Ftask8",{"title":181,"path":182,"stem":183},"ОГЭ Задание 9","\u002Fblog\u002Foge\u002Ftask9","blog\u002Foge\u002Ftask9",{"title":185,"path":186,"stem":187,"children":188,"page":114},"Python","\u002Fblog\u002Fpython","blog\u002Fpython",[189,193,197,201,205,209,213,217,221,225,229,233,237,241,245,249,253,257,261,265,269,273,277,281,285,289,293,297,301,305,309,313,317,321,325],{"title":190,"path":191,"stem":192},"Знакомство с синтаксисом","\u002Fblog\u002Fpython\u002Fst1","blog\u002Fpython\u002Fst1",{"title":194,"path":195,"stem":196},"Отладка","\u002Fblog\u002Fpython\u002Fst10","blog\u002Fpython\u002Fst10",{"title":198,"path":199,"stem":200},"Модули и пакеты","\u002Fblog\u002Fpython\u002Fst11","blog\u002Fpython\u002Fst11",{"title":202,"path":203,"stem":204},"Кортежи","\u002Fblog\u002Fpython\u002Fst12","blog\u002Fpython\u002Fst12",{"title":206,"path":207,"stem":208},"Знакомство со списками","\u002Fblog\u002Fpython\u002Fst13","blog\u002Fpython\u002Fst13",{"title":210,"path":211,"stem":212},"Списки и циклы","\u002Fblog\u002Fpython\u002Fst14","blog\u002Fpython\u002Fst14",{"title":214,"path":215,"stem":216},"Использование списков ч.1","\u002Fblog\u002Fpython\u002Fst15","blog\u002Fpython\u002Fst15",{"title":218,"path":219,"stem":220},"Использование списков ч.2","\u002Fblog\u002Fpython\u002Fst16","blog\u002Fpython\u002Fst16",{"title":222,"path":223,"stem":224},"Использование списков ч.3","\u002Fblog\u002Fpython\u002Fst17","blog\u002Fpython\u002Fst17",{"title":226,"path":227,"stem":228},"Словари","\u002Fblog\u002Fpython\u002Fst18","blog\u002Fpython\u002Fst18",{"title":230,"path":231,"stem":232},"Множества","\u002Fblog\u002Fpython\u002Fst19","blog\u002Fpython\u002Fst19",{"title":234,"path":235,"stem":236},"Переменные","\u002Fblog\u002Fpython\u002Fst2","blog\u002Fpython\u002Fst2",{"title":238,"path":239,"stem":240},"Хеш-таблицы","\u002Fblog\u002Fpython\u002Fst20","blog\u002Fpython\u002Fst20",{"title":242,"path":243,"stem":244},"Решето Эратосфена","\u002Fblog\u002Fpython\u002Fst21","blog\u002Fpython\u002Fst21",{"title":246,"path":247,"stem":248},"Длинная арифметика","\u002Fblog\u002Fpython\u002Fst22","blog\u002Fpython\u002Fst22",{"title":250,"path":251,"stem":252},"Декораторы функций","\u002Fblog\u002Fpython\u002Fst23","blog\u002Fpython\u002Fst23",{"title":254,"path":255,"stem":256},"Знакомство с алгоритмами","\u002Fblog\u002Fpython\u002Fst24","blog\u002Fpython\u002Fst24",{"title":258,"path":259,"stem":260},"Бинарный поиск – примеры задач","\u002Fblog\u002Fpython\u002Fst25","blog\u002Fpython\u002Fst25",{"title":262,"path":263,"stem":264},"Сортировка выбором","\u002Fblog\u002Fpython\u002Fst26","blog\u002Fpython\u002Fst26",{"title":266,"path":267,"stem":268},"Рекурсия и стек","\u002Fblog\u002Fpython\u002Fst27","blog\u002Fpython\u002Fst27",{"title":270,"path":271,"stem":272},"Быстрая сортировка","\u002Fblog\u002Fpython\u002Fst28","blog\u002Fpython\u002Fst28",{"title":274,"path":275,"stem":276},"Поиск в ширину","\u002Fblog\u002Fpython\u002Fst29","blog\u002Fpython\u002Fst29",{"title":278,"path":279,"stem":280},"Работа со строками","\u002Fblog\u002Fpython\u002Fst3","blog\u002Fpython\u002Fst3",{"title":282,"path":283,"stem":284},"Поиск в глубину","\u002Fblog\u002Fpython\u002Fst30","blog\u002Fpython\u002Fst30",{"title":286,"path":287,"stem":288},"Сбалансированные деревья","\u002Fblog\u002Fpython\u002Fst31","blog\u002Fpython\u002Fst31",{"title":290,"path":291,"stem":292},"Алгоритм Дейкстры","\u002Fblog\u002Fpython\u002Fst32","blog\u002Fpython\u002Fst32",{"title":294,"path":295,"stem":296},"Жадные алгоритмы","\u002Fblog\u002Fpython\u002Fst33","blog\u002Fpython\u002Fst33",{"title":298,"path":299,"stem":300},"Динамическое программирование","\u002Fblog\u002Fpython\u002Fst34","blog\u002Fpython\u002Fst34",{"title":302,"path":303,"stem":304},"Алгоритм k ближайших соседей","\u002Fblog\u002Fpython\u002Fst35","blog\u002Fpython\u002Fst35",{"title":306,"path":307,"stem":308},"Типы данных","\u002Fblog\u002Fpython\u002Fst4","blog\u002Fpython\u002Fst4",{"title":310,"path":311,"stem":312},"О функциях","\u002Fblog\u002Fpython\u002Fst5","blog\u002Fpython\u002Fst5",{"title":314,"path":315,"stem":316},"Свойства и методы","\u002Fblog\u002Fpython\u002Fst6","blog\u002Fpython\u002Fst6",{"title":318,"path":319,"stem":320},"Определение функций","\u002Fblog\u002Fpython\u002Fst7","blog\u002Fpython\u002Fst7",{"title":322,"path":323,"stem":324},"Логика","\u002Fblog\u002Fpython\u002Fst8","blog\u002Fpython\u002Fst8",{"title":326,"path":327,"stem":328},"Циклы","\u002Fblog\u002Fpython\u002Fst9","blog\u002Fpython\u002Fst9",{"title":330,"path":331,"stem":332,"children":333,"page":114},"Toi","\u002Fblog\u002Ftoi","blog\u002Ftoi",[334,338,342,346,350,354,358,362,366,370,374,378,382],{"title":335,"path":336,"stem":337},"Информация и информационные процессы","\u002Fblog\u002Ftoi\u002Fst1","blog\u002Ftoi\u002Fst1",{"title":339,"path":340,"stem":341},"Электронные таблицы","\u002Fblog\u002Ftoi\u002Fst10","blog\u002Ftoi\u002Fst10",{"title":343,"path":344,"stem":345},"Система, её свойства и компоненты. Моделирование","\u002Fblog\u002Ftoi\u002Fst11","blog\u002Ftoi\u002Fst11",{"title":347,"path":348,"stem":349},"Представление информации в компьютере","\u002Fblog\u002Ftoi\u002Fst12","blog\u002Ftoi\u002Fst12",{"title":351,"path":352,"stem":353},"Средства информационно-коммуникационных технологий. Файловая система","\u002Fblog\u002Ftoi\u002Fst13","blog\u002Ftoi\u002Fst13",{"title":355,"path":356,"stem":357},"Комбинаторика","\u002Fblog\u002Ftoi\u002Fst2","blog\u002Ftoi\u002Fst2",{"title":359,"path":360,"stem":361},"Адресация в интернете","\u002Fblog\u002Ftoi\u002Fst3","blog\u002Ftoi\u002Fst3",{"title":363,"path":364,"stem":365},"Измерение количества информации","\u002Fblog\u002Ftoi\u002Fst4","blog\u002Ftoi\u002Fst4",{"title":367,"path":368,"stem":369},"Системы счисления","\u002Fblog\u002Ftoi\u002Fst5","blog\u002Ftoi\u002Fst5",{"title":371,"path":372,"stem":373},"Диаграммы Эйлера — Венна","\u002Fblog\u002Ftoi\u002Fst6","blog\u002Ftoi\u002Fst6",{"title":375,"path":376,"stem":377},"Условие Фано","\u002Fblog\u002Ftoi\u002Fst7","blog\u002Ftoi\u002Fst7",{"title":379,"path":380,"stem":381},"Теория графов","\u002Fblog\u002Ftoi\u002Fst8","blog\u002Ftoi\u002Fst8",{"title":383,"path":384,"stem":385},"Алгебра логики","\u002Fblog\u002Ftoi\u002Fst9","blog\u002Ftoi\u002Fst9",{"id":387,"title":63,"author":388,"body":393,"date":3009,"description":3010,"extension":3011,"image":3012,"meta":3013,"minRead":825,"navigation":578,"num":813,"path":64,"seo":3014,"stem":65,"__hash__":3015},"ege\u002Fblog\u002Fege\u002Ftask22.md",{"name":389,"avatar":390},"Штана Альберт Игоревич",{"src":391,"alt":392},"me.jpg","@ashtana",{"type":394,"value":395,"toc":2989},"minimark",[396,404,410,419,427,432,438,443,446,449,454,461,472,477,482,487,492,495,498,501,504,510,514,518,522,525,529,532,1430,1435,1440,1444,1447,1449,1453,1458,1470,1474,1477,1480,1483,1485,1488,1490,1493,1498,1501,1503,1506,1508,2269,2273,2278,2282,2284,2286,2292,2297,2300,2303,2306,2308,2310,2312,2315,2320,2323,2325,2328,2330,2976,2980,2985],[397,398,399,400],"p",{},"В этой статье будет разобрано ",[401,402,403],"strong",{},"задание 22.",[397,405,406,407],{},"Рассмотрим задачи последних лет из демоверсий ",[401,408,409],{},"ЕГЭ по информатике.",[397,411,412],{},[413,414,415,416],"em",{},"Данное задание относится к ",[401,417,418],{},"повышенному уровню сложности.",[397,420,421],{},[413,422,423,424],{},"Время выполнения задания ",[401,425,426],{},"≈ 7 минут.",[397,428,429],{},[413,430,431],{},"Данное задание выполняется в одном из приложенных файлов(.ods, .xls, .xlsx) с помощью электронной таблицы. Краткий конспект по обработке информации в электронной таблице по ссылке:",[397,433,434],{},[435,436,437],"a",{"href":340},"Ссылка на статью: Обработка информации в электронных таблицах.",[439,440,442],"h4",{"id":441},"задача-1-демоверсия-егэ-2024-год","Задача 1 (Демоверсия ЕГЭ 2024 год)",[397,444,445],{},"В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или\nпоследовательно. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы\nрезультаты выполнения процесса A. В этом случае процессы A и B могут выполняться только последовательно.",[397,447,448],{},"Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID),\nво втором столбце таблицы – время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;»\nID процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0.",[397,450,451],{},[413,452,453],{},"Типовой пример организации данных в файле:",[397,455,456],{},[457,458],"img",{"alt":459,"src":460},"Задача 1 Условие","\u002Fimages\u002Fblog\u002Fege\u002Ftask22\u002Fimg1.png",[397,462,463,464,467,468,471],{},"Определите ",[401,465,466],{},"максимальную продолжительность отрезка времени"," (в мс), в течение которого ",[401,469,470],{},"возможно одновременное выполнение\nчетырёх процессов",", при условии, что все независимые друг от друга процессы могут выполняться параллельно.",[397,473,474],{},[401,475,476],{},"Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.",[478,479],"downloadlink",{"address":480,"description":481},"\u002Ffiles\u002Fege\u002Ftask22\u002Fzadanie22_1.zip","Скачать файлы задания",[483,484,486],"h5",{"id":485},"решение","Решение:",[488,489,491],"h6",{"id":490},"решение-с-помощью-электронной-таблицы","Решение с помощью электронной таблицы",[397,493,494],{},"Решение производится в файле Excel. Или любом другом табличном процессоре(например, LibreOffice).",[397,496,497],{},"Рекомендуется \"сжать\" столбцы, чтобы было удобнее. Сделать это можно так: выделяем нужные буквы столбцов, вызываем контекстное меню, потом ширина столбца пропишем к примеру 5.",[397,499,500],{},"Вариант решения следующий:",[397,502,503],{},"Справа от нашей таблицы для каждой строчки мы будем выделять ячейки каким-нибудь цветом, сколько длиться соответствующий процесс. Если процесс зависит от какого-либо процесса, он должен дождаться его выполнения, а потом уже выполниться сам. Если процесс зависит от нескольких процессов, то он должен дождаться выполнения самого долгого процесса, а потом выполниться сам.\nПосле разрисовывания такой \"диаграммы\" по клеточкам расставим единицы в закрашенные клеточки, а внизу подсчитаем сумму единиц для каждого столбца. Для ячейки E15 пропишем формулу: =СУММ(E2:E13) и распространим эту формулу на всю строчку(до конца последнего процесса).\nЗатем мы увидим, что при таком подходе максимальный отрезок, когда будет выполняться 4 процесса одновременно будет равен 4. Но в данной задаче не сказано, что все процессы должны завершиться за минимально возможное время. Поэтому мы можем смещать процессы по времени, если это возможно.\nНужно сдвинуть четыре нижних процесса так, чтобы был максимальный отрезок с 4 процессами.\nИ наконец, тогда длина максимального отрезка будет равна 7.",[397,505,506,509],{},[413,507,508],{},"p.s. Подробнее с комментариями решения такой задачи ниже на видео",":",[511,512],"post-video-player",{"videoSrc":513},"\u002Ffiles\u002Fege\u002Ftask22\u002Fzadanie22.webm",[515,516],"h1",{"id":517},"",[488,519,521],{"id":520},"решение-на-python","Решение на Python",[397,523,524],{},"Для решения данной задачи с помощью кода на Python придётся предварительно создать текстовый файл с данными(скопировать данные из таблицы в текстовый файл):",[478,526],{"address":527,"description":528},"\u002Ffiles\u002Fege\u002Ftask22\u002F22_2024.txt","Скачать файл",[397,530,531],{},"Далее идёт пример решения задачи с кодом на Python и комментариями в самом коде:",[533,534,538],"pre",{"className":535,"code":536,"language":537,"meta":517,"style":517},"language-python shiki shiki-themes github-light","# Скопируем содержимое таблицы в файл и прочитаем его.\n# Заменим точки с запятой на пробелы\nfrom copy import deepcopy\n\nfile = open('22_2024.txt').read().replace(';', ' ')\n# преобразуем данные в список строк из чисел\nnums = [[int(x) for x in s.split()]\n        for s in file.split('\\n')]\n# создадим словарь вида\n# № процесса: (время выполнения, процессы)\npr = {c[0]: [c[1], c[2:]] for c in nums}\n\n\n# определим функцию, которая возвращает время работы процесса\n# n - номер процесса\ndef f(n):\n    # если номер равен 0, то время выполнения 0\n    # (начало всех процессов)\n    if n == 0:\n        return 0\n    # иначе максимальное время выполнения\n    # для всех предыдущих процессов\n    # плюс время выполнения процесса n\n    return max(f(x) for x in pr[n][1]) + pr[n][0]\n\n\n# находим максимальное значение\nmax_mc = max(f(x) for x in pr)\n\na_procs = []\nb_procs = []\n\n# A процессы независимые и могут запускаться сразу\n# B процессы зависимые\nfor x in pr:\n    if pr[x][1][0] == 0:\n        a_procs.append(x)\n    else:\n        b_procs.append(x)\n\n# print(a_procs)\n# print(b_procs)\nmax_mc_four_count_proc = 0\ncount = 0\ndict_proc = deepcopy(pr)\ndict_mc = dict()\nfor mc in range(1, max_mc + 1):\n    for a_pr in a_procs:\n        dict_proc[a_pr][0] -= 1\n        if dict_proc[a_pr][0] >= 0:\n            if not dict_mc.get(mc, False):\n                dict_mc[mc] = []\n            dict_mc[mc].append(a_pr)\n    for b_pr in b_procs:\n        sup_proc = dict_proc[b_pr][1]\n        for sup_pr in sup_proc:\n            flag = False\n            if dict_proc[sup_pr][0] \u003C 0:\n                flag = True\n            else:\n                break\n        if flag:\n            dict_proc[b_pr][0] -= 1\n            if dict_proc[b_pr][0] >= 0:\n                if not dict_mc.get(mc, False):\n                    dict_mc[mc] = []\n                dict_mc[mc].append(b_pr)\n\n# print(dict_mc)\n\n# Возможно неполное решение задачи, если процессы стартовые А, которые раньше заканчиваются вместе с подпроцессами\n# в отличие от самой длинной цепочки процессов - смещать по времени от 1 мс нельзя!\ncount_four_procs = 0\nfor key_mc in dict_mc:\n    if len(dict_mc[key_mc]) == 4:\n        count_four_procs += 1\n\nprint(count_four_procs)  # Вывод ответа\n","python",[539,540,541,550,556,573,580,616,622,652,680,686,692,731,736,741,747,753,766,772,778,796,805,811,817,823,859,864,869,875,896,901,912,922,927,933,939,951,975,981,989,995,1000,1006,1012,1022,1032,1043,1057,1085,1099,1115,1135,1152,1162,1168,1181,1196,1209,1220,1239,1250,1258,1264,1272,1286,1303,1317,1327,1333,1338,1344,1349,1355,1361,1371,1384,1402,1413,1418],"code",{"__ignoreMap":517},[542,543,546],"span",{"class":544,"line":545},"line",1,[542,547,549],{"class":548},"sAwPA","# Скопируем содержимое таблицы в файл и прочитаем его.\n",[542,551,553],{"class":544,"line":552},2,[542,554,555],{"class":548},"# Заменим точки с запятой на пробелы\n",[542,557,559,563,567,570],{"class":544,"line":558},3,[542,560,562],{"class":561},"sD7c4","from",[542,564,566],{"class":565},"sgsFI"," copy ",[542,568,569],{"class":561},"import",[542,571,572],{"class":565}," deepcopy\n",[542,574,576],{"class":544,"line":575},4,[542,577,579],{"emptyLinePlaceholder":578},true,"\n",[542,581,583,587,590,594,597,601,604,607,610,613],{"class":544,"line":582},5,[542,584,586],{"class":585},"sqxcx","file",[542,588,589],{"class":561}," =",[542,591,593],{"class":592},"sYu0t"," open",[542,595,596],{"class":565},"(",[542,598,600],{"class":599},"sYBdl","'22_2024.txt'",[542,602,603],{"class":565},").read().replace(",[542,605,606],{"class":599},"';'",[542,608,609],{"class":565},", ",[542,611,612],{"class":599},"' '",[542,614,615],{"class":565},")\n",[542,617,619],{"class":544,"line":618},6,[542,620,621],{"class":548},"# преобразуем данные в список строк из чисел\n",[542,623,625,628,631,634,637,640,643,646,649],{"class":544,"line":624},7,[542,626,627],{"class":565},"nums ",[542,629,630],{"class":561},"=",[542,632,633],{"class":565}," [[",[542,635,636],{"class":592},"int",[542,638,639],{"class":565},"(x) ",[542,641,642],{"class":561},"for",[542,644,645],{"class":565}," x ",[542,647,648],{"class":561},"in",[542,650,651],{"class":565}," s.split()]\n",[542,653,655,658,661,663,666,669,672,675,677],{"class":544,"line":654},8,[542,656,657],{"class":561},"        for",[542,659,660],{"class":565}," s ",[542,662,648],{"class":561},[542,664,665],{"class":585}," file",[542,667,668],{"class":565},".split(",[542,670,671],{"class":599},"'",[542,673,674],{"class":592},"\\n",[542,676,671],{"class":599},[542,678,679],{"class":565},")]\n",[542,681,683],{"class":544,"line":682},9,[542,684,685],{"class":548},"# создадим словарь вида\n",[542,687,689],{"class":544,"line":688},10,[542,690,691],{"class":548},"# № процесса: (время выполнения, процессы)\n",[542,693,695,698,700,703,706,709,712,715,718,721,723,726,728],{"class":544,"line":694},11,[542,696,697],{"class":565},"pr ",[542,699,630],{"class":561},[542,701,702],{"class":565}," {c[",[542,704,705],{"class":592},"0",[542,707,708],{"class":565},"]: [c[",[542,710,711],{"class":592},"1",[542,713,714],{"class":565},"], c[",[542,716,717],{"class":592},"2",[542,719,720],{"class":565},":]] ",[542,722,642],{"class":561},[542,724,725],{"class":565}," c ",[542,727,648],{"class":561},[542,729,730],{"class":565}," nums}\n",[542,732,734],{"class":544,"line":733},12,[542,735,579],{"emptyLinePlaceholder":578},[542,737,739],{"class":544,"line":738},13,[542,740,579],{"emptyLinePlaceholder":578},[542,742,744],{"class":544,"line":743},14,[542,745,746],{"class":548},"# определим функцию, которая возвращает время работы процесса\n",[542,748,750],{"class":544,"line":749},15,[542,751,752],{"class":548},"# n - номер процесса\n",[542,754,756,759,763],{"class":544,"line":755},16,[542,757,758],{"class":561},"def",[542,760,762],{"class":761},"s7eDp"," f",[542,764,765],{"class":565},"(n):\n",[542,767,769],{"class":544,"line":768},17,[542,770,771],{"class":548},"    # если номер равен 0, то время выполнения 0\n",[542,773,775],{"class":544,"line":774},18,[542,776,777],{"class":548},"    # (начало всех процессов)\n",[542,779,781,784,787,790,793],{"class":544,"line":780},19,[542,782,783],{"class":561},"    if",[542,785,786],{"class":565}," n ",[542,788,789],{"class":561},"==",[542,791,792],{"class":592}," 0",[542,794,795],{"class":565},":\n",[542,797,799,802],{"class":544,"line":798},20,[542,800,801],{"class":561},"        return",[542,803,804],{"class":592}," 0\n",[542,806,808],{"class":544,"line":807},21,[542,809,810],{"class":548},"    # иначе максимальное время выполнения\n",[542,812,814],{"class":544,"line":813},22,[542,815,816],{"class":548},"    # для всех предыдущих процессов\n",[542,818,820],{"class":544,"line":819},23,[542,821,822],{"class":548},"    # плюс время выполнения процесса n\n",[542,824,826,829,832,835,837,839,841,844,846,849,852,854,856],{"class":544,"line":825},24,[542,827,828],{"class":561},"    return",[542,830,831],{"class":592}," max",[542,833,834],{"class":565},"(f(x) ",[542,836,642],{"class":561},[542,838,645],{"class":565},[542,840,648],{"class":561},[542,842,843],{"class":565}," pr[n][",[542,845,711],{"class":592},[542,847,848],{"class":565},"]) ",[542,850,851],{"class":561},"+",[542,853,843],{"class":565},[542,855,705],{"class":592},[542,857,858],{"class":565},"]\n",[542,860,862],{"class":544,"line":861},25,[542,863,579],{"emptyLinePlaceholder":578},[542,865,867],{"class":544,"line":866},26,[542,868,579],{"emptyLinePlaceholder":578},[542,870,872],{"class":544,"line":871},27,[542,873,874],{"class":548},"# находим максимальное значение\n",[542,876,878,881,883,885,887,889,891,893],{"class":544,"line":877},28,[542,879,880],{"class":565},"max_mc ",[542,882,630],{"class":561},[542,884,831],{"class":592},[542,886,834],{"class":565},[542,888,642],{"class":561},[542,890,645],{"class":565},[542,892,648],{"class":561},[542,894,895],{"class":565}," pr)\n",[542,897,899],{"class":544,"line":898},29,[542,900,579],{"emptyLinePlaceholder":578},[542,902,904,907,909],{"class":544,"line":903},30,[542,905,906],{"class":565},"a_procs ",[542,908,630],{"class":561},[542,910,911],{"class":565}," []\n",[542,913,915,918,920],{"class":544,"line":914},31,[542,916,917],{"class":565},"b_procs ",[542,919,630],{"class":561},[542,921,911],{"class":565},[542,923,925],{"class":544,"line":924},32,[542,926,579],{"emptyLinePlaceholder":578},[542,928,930],{"class":544,"line":929},33,[542,931,932],{"class":548},"# A процессы независимые и могут запускаться сразу\n",[542,934,936],{"class":544,"line":935},34,[542,937,938],{"class":548},"# B процессы зависимые\n",[542,940,942,944,946,948],{"class":544,"line":941},35,[542,943,642],{"class":561},[542,945,645],{"class":565},[542,947,648],{"class":561},[542,949,950],{"class":565}," pr:\n",[542,952,954,956,959,961,964,966,969,971,973],{"class":544,"line":953},36,[542,955,783],{"class":561},[542,957,958],{"class":565}," pr[x][",[542,960,711],{"class":592},[542,962,963],{"class":565},"][",[542,965,705],{"class":592},[542,967,968],{"class":565},"] ",[542,970,789],{"class":561},[542,972,792],{"class":592},[542,974,795],{"class":565},[542,976,978],{"class":544,"line":977},37,[542,979,980],{"class":565},"        a_procs.append(x)\n",[542,982,984,987],{"class":544,"line":983},38,[542,985,986],{"class":561},"    else",[542,988,795],{"class":565},[542,990,992],{"class":544,"line":991},39,[542,993,994],{"class":565},"        b_procs.append(x)\n",[542,996,998],{"class":544,"line":997},40,[542,999,579],{"emptyLinePlaceholder":578},[542,1001,1003],{"class":544,"line":1002},41,[542,1004,1005],{"class":548},"# print(a_procs)\n",[542,1007,1009],{"class":544,"line":1008},42,[542,1010,1011],{"class":548},"# print(b_procs)\n",[542,1013,1015,1018,1020],{"class":544,"line":1014},43,[542,1016,1017],{"class":565},"max_mc_four_count_proc ",[542,1019,630],{"class":561},[542,1021,804],{"class":592},[542,1023,1025,1028,1030],{"class":544,"line":1024},44,[542,1026,1027],{"class":565},"count ",[542,1029,630],{"class":561},[542,1031,804],{"class":592},[542,1033,1035,1038,1040],{"class":544,"line":1034},45,[542,1036,1037],{"class":565},"dict_proc ",[542,1039,630],{"class":561},[542,1041,1042],{"class":565}," deepcopy(pr)\n",[542,1044,1046,1049,1051,1054],{"class":544,"line":1045},46,[542,1047,1048],{"class":565},"dict_mc ",[542,1050,630],{"class":561},[542,1052,1053],{"class":592}," dict",[542,1055,1056],{"class":565},"()\n",[542,1058,1060,1062,1065,1067,1070,1072,1074,1077,1079,1082],{"class":544,"line":1059},47,[542,1061,642],{"class":561},[542,1063,1064],{"class":565}," mc ",[542,1066,648],{"class":561},[542,1068,1069],{"class":592}," range",[542,1071,596],{"class":565},[542,1073,711],{"class":592},[542,1075,1076],{"class":565},", max_mc ",[542,1078,851],{"class":561},[542,1080,1081],{"class":592}," 1",[542,1083,1084],{"class":565},"):\n",[542,1086,1088,1091,1094,1096],{"class":544,"line":1087},48,[542,1089,1090],{"class":561},"    for",[542,1092,1093],{"class":565}," a_pr ",[542,1095,648],{"class":561},[542,1097,1098],{"class":565}," a_procs:\n",[542,1100,1102,1105,1107,1109,1112],{"class":544,"line":1101},49,[542,1103,1104],{"class":565},"        dict_proc[a_pr][",[542,1106,705],{"class":592},[542,1108,968],{"class":565},[542,1110,1111],{"class":561},"-=",[542,1113,1114],{"class":592}," 1\n",[542,1116,1118,1121,1124,1126,1128,1131,1133],{"class":544,"line":1117},50,[542,1119,1120],{"class":561},"        if",[542,1122,1123],{"class":565}," dict_proc[a_pr][",[542,1125,705],{"class":592},[542,1127,968],{"class":565},[542,1129,1130],{"class":561},">=",[542,1132,792],{"class":592},[542,1134,795],{"class":565},[542,1136,1138,1141,1144,1147,1150],{"class":544,"line":1137},51,[542,1139,1140],{"class":561},"            if",[542,1142,1143],{"class":561}," not",[542,1145,1146],{"class":565}," dict_mc.get(mc, ",[542,1148,1149],{"class":592},"False",[542,1151,1084],{"class":565},[542,1153,1155,1158,1160],{"class":544,"line":1154},52,[542,1156,1157],{"class":565},"                dict_mc[mc] ",[542,1159,630],{"class":561},[542,1161,911],{"class":565},[542,1163,1165],{"class":544,"line":1164},53,[542,1166,1167],{"class":565},"            dict_mc[mc].append(a_pr)\n",[542,1169,1171,1173,1176,1178],{"class":544,"line":1170},54,[542,1172,1090],{"class":561},[542,1174,1175],{"class":565}," b_pr ",[542,1177,648],{"class":561},[542,1179,1180],{"class":565}," b_procs:\n",[542,1182,1184,1187,1189,1192,1194],{"class":544,"line":1183},55,[542,1185,1186],{"class":565},"        sup_proc ",[542,1188,630],{"class":561},[542,1190,1191],{"class":565}," dict_proc[b_pr][",[542,1193,711],{"class":592},[542,1195,858],{"class":565},[542,1197,1199,1201,1204,1206],{"class":544,"line":1198},56,[542,1200,657],{"class":561},[542,1202,1203],{"class":565}," sup_pr ",[542,1205,648],{"class":561},[542,1207,1208],{"class":565}," sup_proc:\n",[542,1210,1212,1215,1217],{"class":544,"line":1211},57,[542,1213,1214],{"class":565},"            flag ",[542,1216,630],{"class":561},[542,1218,1219],{"class":592}," False\n",[542,1221,1223,1225,1228,1230,1232,1235,1237],{"class":544,"line":1222},58,[542,1224,1140],{"class":561},[542,1226,1227],{"class":565}," dict_proc[sup_pr][",[542,1229,705],{"class":592},[542,1231,968],{"class":565},[542,1233,1234],{"class":561},"\u003C",[542,1236,792],{"class":592},[542,1238,795],{"class":565},[542,1240,1242,1245,1247],{"class":544,"line":1241},59,[542,1243,1244],{"class":565},"                flag ",[542,1246,630],{"class":561},[542,1248,1249],{"class":592}," True\n",[542,1251,1253,1256],{"class":544,"line":1252},60,[542,1254,1255],{"class":561},"            else",[542,1257,795],{"class":565},[542,1259,1261],{"class":544,"line":1260},61,[542,1262,1263],{"class":561},"                break\n",[542,1265,1267,1269],{"class":544,"line":1266},62,[542,1268,1120],{"class":561},[542,1270,1271],{"class":565}," flag:\n",[542,1273,1275,1278,1280,1282,1284],{"class":544,"line":1274},63,[542,1276,1277],{"class":565},"            dict_proc[b_pr][",[542,1279,705],{"class":592},[542,1281,968],{"class":565},[542,1283,1111],{"class":561},[542,1285,1114],{"class":592},[542,1287,1289,1291,1293,1295,1297,1299,1301],{"class":544,"line":1288},64,[542,1290,1140],{"class":561},[542,1292,1191],{"class":565},[542,1294,705],{"class":592},[542,1296,968],{"class":565},[542,1298,1130],{"class":561},[542,1300,792],{"class":592},[542,1302,795],{"class":565},[542,1304,1306,1309,1311,1313,1315],{"class":544,"line":1305},65,[542,1307,1308],{"class":561},"                if",[542,1310,1143],{"class":561},[542,1312,1146],{"class":565},[542,1314,1149],{"class":592},[542,1316,1084],{"class":565},[542,1318,1320,1323,1325],{"class":544,"line":1319},66,[542,1321,1322],{"class":565},"                    dict_mc[mc] ",[542,1324,630],{"class":561},[542,1326,911],{"class":565},[542,1328,1330],{"class":544,"line":1329},67,[542,1331,1332],{"class":565},"                dict_mc[mc].append(b_pr)\n",[542,1334,1336],{"class":544,"line":1335},68,[542,1337,579],{"emptyLinePlaceholder":578},[542,1339,1341],{"class":544,"line":1340},69,[542,1342,1343],{"class":548},"# print(dict_mc)\n",[542,1345,1347],{"class":544,"line":1346},70,[542,1348,579],{"emptyLinePlaceholder":578},[542,1350,1352],{"class":544,"line":1351},71,[542,1353,1354],{"class":548},"# Возможно неполное решение задачи, если процессы стартовые А, которые раньше заканчиваются вместе с подпроцессами\n",[542,1356,1358],{"class":544,"line":1357},72,[542,1359,1360],{"class":548},"# в отличие от самой длинной цепочки процессов - смещать по времени от 1 мс нельзя!\n",[542,1362,1364,1367,1369],{"class":544,"line":1363},73,[542,1365,1366],{"class":565},"count_four_procs ",[542,1368,630],{"class":561},[542,1370,804],{"class":592},[542,1372,1374,1376,1379,1381],{"class":544,"line":1373},74,[542,1375,642],{"class":561},[542,1377,1378],{"class":565}," key_mc ",[542,1380,648],{"class":561},[542,1382,1383],{"class":565}," dict_mc:\n",[542,1385,1387,1389,1392,1395,1397,1400],{"class":544,"line":1386},75,[542,1388,783],{"class":561},[542,1390,1391],{"class":592}," len",[542,1393,1394],{"class":565},"(dict_mc[key_mc]) ",[542,1396,789],{"class":561},[542,1398,1399],{"class":592}," 4",[542,1401,795],{"class":565},[542,1403,1405,1408,1411],{"class":544,"line":1404},76,[542,1406,1407],{"class":565},"        count_four_procs ",[542,1409,1410],{"class":561},"+=",[542,1412,1114],{"class":592},[542,1414,1416],{"class":544,"line":1415},77,[542,1417,579],{"emptyLinePlaceholder":578},[542,1419,1421,1424,1427],{"class":544,"line":1420},78,[542,1422,1423],{"class":592},"print",[542,1425,1426],{"class":565},"(count_four_procs)  ",[542,1428,1429],{"class":548},"# Вывод ответа\n",[397,1431,1432],{},[413,1433,1434],{},"p.s. Пример показывает возможность решить данную задачу с помощью программирования. На самом экзамене предпочтительно для ученика пользоваться способ решения данной задачи с помощью электронной таблицы.",[397,1436,1437],{},[401,1438,1439],{},"Ответ: 7",[439,1441,1443],{"id":1442},"задача-2-демоверсия-егэ-2025-год","Задача 2 (Демоверсия ЕГЭ 2025 год)",[397,1445,1446],{},"В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или\nпоследовательно. Приостановка выполнения процесса не допускается. Будем говорить, что процесс B зависит от процесса A,\nесли для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы A и B могут\nвыполняться только последовательно.",[397,1448,448],{},[397,1450,1451],{},[413,1452,453],{},[397,1454,1455],{},[457,1456],{"alt":459,"src":1457},"\u002Fimages\u002Fblog\u002Fege\u002Ftask22\u002Fimg2.png",[397,1459,463,1460,467,1462,1465,1466,1469],{},[401,1461,466],{},[401,1463,1464],{},"возможно одновременное\nвыполнение максимального количества процессов"," при условии, что все независимые друг от друга процессы могут\nвыполняться параллельно и время окончания работы всех процессов ",[401,1467,1468],{},"минимально",".",[397,1471,1472],{},[401,1473,476],{},[478,1475],{"address":1476,"description":481},"\u002Ffiles\u002Fege\u002Ftask22\u002Fzadanie22_2.zip",[483,1478,486],{"id":1479},"решение-1",[488,1481,491],{"id":1482},"решение-с-помощью-электронной-таблицы-1",[397,1484,494],{},[397,1486,1487],{},"Рекомендуется \"сжать\" столбцы, чтобы было удобнее. Сделать это можно так: выделяем нужные буквы столбцов, вызываем контекстное меню, потом ширина столбца пропишем к примеру 4.",[397,1489,500],{},[397,1491,1492],{},"Справа от нашей таблицы для каждой строчки мы будем выделять ячейки каким-нибудь цветом, сколько длиться соответствующий процесс. Если процесс зависит от какого-либо процесса, он должен дождаться его выполнения, а потом уже выполниться сам. Если процесс зависит от нескольких процессов, то он должен дождаться  выполнения самого долгого процесса, а потом выполниться сам.\nПосле разрисовывания такой \"диаграммы\" по клеточкам расставим единицы в закрашенные клеточки, а внизу подсчитаем сумму единиц для каждого столбца. Для ячейки E16 пропишем формулу: =СУММ(E2:E14) и распространим эту формулу на всю строчку(до конца последнего процесса).\nЗатем мы увидим, что при таком подходе максимальный отрезок, когда будет выполняться это 4 процесса одновременно будет равен 5. В данной задаче сказано, что все процессы должны завершиться за минимально возможное время. После записи решения видим, что мы можем смещать процессы по времени на 1мс. Но ответ при этом на задачу не поменяется, т.е. 4 процесса выполняются в данном случае по длине максимального отрезка равного 5.",[397,1494,1495],{},[413,1496,1497],{},"p.s. Подробнее с комментариями решения такой задачи был здесь выше на видео(на примере задачи 1 из демоверсии 2024 года).",[488,1499,521],{"id":1500},"решение-на-python-1",[397,1502,524],{},[478,1504],{"address":1505,"description":528},"\u002Ffiles\u002Fege\u002Ftask22\u002F22_2025.txt",[397,1507,531],{},[533,1509,1511],{"className":535,"code":1510,"language":537,"meta":517,"style":517},"# Скопируем содержимое таблицы в файл и прочитаем его.\n# Заменим точки с запятой на пробелы\nfrom copy import deepcopy\n\nfile = open('22_2025.txt').read().replace(';', ' ')\n# преобразуем данные в список строк из чисел\nnums = [[int(x) for x in s.split()] for s in file.split('\\n')]\n# создадим словарь вида\n# № процесса: (время выполнения, процессы)\npr = {c[0]: [c[1], c[2:]] for c in nums}\n\n\n# определим функцию, которая возвращает время работы процесса\n# n - номер процесса\ndef f(n):\n    # если номер равен 0, то время выполнения 0\n    # (начало всех процессов)\n    if n == 0:\n        return 0\n    # иначе максимальное время выполнения\n    # для всех предыдущих процессов\n    # плюс время выполнения процесса n\n    return max(f(x) for x in pr[n][1]) + pr[n][0]\n\n# находим максимальное значение\nmax_mc = max(f(x) for x in pr)\n\na_procs = []\nb_procs = []\n\n# A процессы независимые и могут запускаться сразу\n# B процессы зависимые\nfor x in pr:\n    if pr[x][1][0] == 0:\n        a_procs.append(x)\n    else:\n        b_procs.append(x)\n\n# print(a_procs)\n# print(b_procs)\nmax_mc_four_count_proc = 0\ncount = 0\ndict_proc = deepcopy(pr)\ndict_mc = dict()\nfor mc in range(1, max_mc + 1):\n    for a_pr in a_procs:\n        dict_proc[a_pr][0] -= 1\n        if dict_proc[a_pr][0] >= 0:\n            if not dict_mc.get(mc, False):\n                dict_mc[mc] = []\n            dict_mc[mc].append(a_pr)\n    for b_pr in b_procs:\n        sup_proc = dict_proc[b_pr][1]\n        for sup_pr in sup_proc:\n            flag = False\n            if dict_proc[sup_pr][0] \u003C 0:\n                flag = True\n            else:\n                break\n        if flag:\n            dict_proc[b_pr][0] -= 1\n            if dict_proc[b_pr][0] >= 0:\n                if not dict_mc.get(mc, False):\n                    dict_mc[mc] = []\n                dict_mc[mc].append(b_pr)\n\n# print(dict_mc)\n\n# Полное решение задачи, если процессы стартовые А, которые раньше заканчиваются вместе с подпроцессами\n# в отличие от самой длинной цепочки процессов - смещать по времени от 1 мс нельзя!\ncount_four_procs = 0\ncount_procs = 0   # задать 999999999 если ищем минимальную продолжительность процессов или 0 если максимальную\nflag = True\nfor key_mc in dict_mc:\n    if len(dict_mc[key_mc]) == 4:  # Меняем на 3 если максимальную продолжительность 3-х процессов ищем и т.п.\n        if flag:\n            count_four_procs += 1\n        else:\n            count_four_procs = 0\n            count_four_procs += 1\n            flag = True\n    else:\n        flag = False\n        count_procs = max(count_procs, count_four_procs)  # min если ищем минимальную продолжительность процессов\n\nprint('Ответ: ',count_procs)\n",[539,1512,1513,1517,1521,1531,1535,1558,1562,1601,1605,1609,1637,1641,1645,1649,1653,1661,1665,1669,1681,1687,1691,1695,1699,1727,1731,1735,1753,1757,1765,1773,1777,1781,1785,1795,1815,1819,1825,1829,1833,1837,1841,1849,1857,1865,1875,1897,1907,1919,1935,1947,1955,1959,1969,1981,1991,1999,2015,2023,2029,2033,2039,2051,2067,2079,2087,2091,2095,2099,2103,2108,2112,2120,2132,2141,2151,2169,2175,2184,2191,2200,2209,2218,2225,2235,2251,2256],{"__ignoreMap":517},[542,1514,1515],{"class":544,"line":545},[542,1516,549],{"class":548},[542,1518,1519],{"class":544,"line":552},[542,1520,555],{"class":548},[542,1522,1523,1525,1527,1529],{"class":544,"line":558},[542,1524,562],{"class":561},[542,1526,566],{"class":565},[542,1528,569],{"class":561},[542,1530,572],{"class":565},[542,1532,1533],{"class":544,"line":575},[542,1534,579],{"emptyLinePlaceholder":578},[542,1536,1537,1539,1541,1543,1545,1548,1550,1552,1554,1556],{"class":544,"line":582},[542,1538,586],{"class":585},[542,1540,589],{"class":561},[542,1542,593],{"class":592},[542,1544,596],{"class":565},[542,1546,1547],{"class":599},"'22_2025.txt'",[542,1549,603],{"class":565},[542,1551,606],{"class":599},[542,1553,609],{"class":565},[542,1555,612],{"class":599},[542,1557,615],{"class":565},[542,1559,1560],{"class":544,"line":618},[542,1561,621],{"class":548},[542,1563,1564,1566,1568,1570,1572,1574,1576,1578,1580,1583,1585,1587,1589,1591,1593,1595,1597,1599],{"class":544,"line":624},[542,1565,627],{"class":565},[542,1567,630],{"class":561},[542,1569,633],{"class":565},[542,1571,636],{"class":592},[542,1573,639],{"class":565},[542,1575,642],{"class":561},[542,1577,645],{"class":565},[542,1579,648],{"class":561},[542,1581,1582],{"class":565}," s.split()] ",[542,1584,642],{"class":561},[542,1586,660],{"class":565},[542,1588,648],{"class":561},[542,1590,665],{"class":585},[542,1592,668],{"class":565},[542,1594,671],{"class":599},[542,1596,674],{"class":592},[542,1598,671],{"class":599},[542,1600,679],{"class":565},[542,1602,1603],{"class":544,"line":654},[542,1604,685],{"class":548},[542,1606,1607],{"class":544,"line":682},[542,1608,691],{"class":548},[542,1610,1611,1613,1615,1617,1619,1621,1623,1625,1627,1629,1631,1633,1635],{"class":544,"line":688},[542,1612,697],{"class":565},[542,1614,630],{"class":561},[542,1616,702],{"class":565},[542,1618,705],{"class":592},[542,1620,708],{"class":565},[542,1622,711],{"class":592},[542,1624,714],{"class":565},[542,1626,717],{"class":592},[542,1628,720],{"class":565},[542,1630,642],{"class":561},[542,1632,725],{"class":565},[542,1634,648],{"class":561},[542,1636,730],{"class":565},[542,1638,1639],{"class":544,"line":694},[542,1640,579],{"emptyLinePlaceholder":578},[542,1642,1643],{"class":544,"line":733},[542,1644,579],{"emptyLinePlaceholder":578},[542,1646,1647],{"class":544,"line":738},[542,1648,746],{"class":548},[542,1650,1651],{"class":544,"line":743},[542,1652,752],{"class":548},[542,1654,1655,1657,1659],{"class":544,"line":749},[542,1656,758],{"class":561},[542,1658,762],{"class":761},[542,1660,765],{"class":565},[542,1662,1663],{"class":544,"line":755},[542,1664,771],{"class":548},[542,1666,1667],{"class":544,"line":768},[542,1668,777],{"class":548},[542,1670,1671,1673,1675,1677,1679],{"class":544,"line":774},[542,1672,783],{"class":561},[542,1674,786],{"class":565},[542,1676,789],{"class":561},[542,1678,792],{"class":592},[542,1680,795],{"class":565},[542,1682,1683,1685],{"class":544,"line":780},[542,1684,801],{"class":561},[542,1686,804],{"class":592},[542,1688,1689],{"class":544,"line":798},[542,1690,810],{"class":548},[542,1692,1693],{"class":544,"line":807},[542,1694,816],{"class":548},[542,1696,1697],{"class":544,"line":813},[542,1698,822],{"class":548},[542,1700,1701,1703,1705,1707,1709,1711,1713,1715,1717,1719,1721,1723,1725],{"class":544,"line":819},[542,1702,828],{"class":561},[542,1704,831],{"class":592},[542,1706,834],{"class":565},[542,1708,642],{"class":561},[542,1710,645],{"class":565},[542,1712,648],{"class":561},[542,1714,843],{"class":565},[542,1716,711],{"class":592},[542,1718,848],{"class":565},[542,1720,851],{"class":561},[542,1722,843],{"class":565},[542,1724,705],{"class":592},[542,1726,858],{"class":565},[542,1728,1729],{"class":544,"line":825},[542,1730,579],{"emptyLinePlaceholder":578},[542,1732,1733],{"class":544,"line":861},[542,1734,874],{"class":548},[542,1736,1737,1739,1741,1743,1745,1747,1749,1751],{"class":544,"line":866},[542,1738,880],{"class":565},[542,1740,630],{"class":561},[542,1742,831],{"class":592},[542,1744,834],{"class":565},[542,1746,642],{"class":561},[542,1748,645],{"class":565},[542,1750,648],{"class":561},[542,1752,895],{"class":565},[542,1754,1755],{"class":544,"line":871},[542,1756,579],{"emptyLinePlaceholder":578},[542,1758,1759,1761,1763],{"class":544,"line":877},[542,1760,906],{"class":565},[542,1762,630],{"class":561},[542,1764,911],{"class":565},[542,1766,1767,1769,1771],{"class":544,"line":898},[542,1768,917],{"class":565},[542,1770,630],{"class":561},[542,1772,911],{"class":565},[542,1774,1775],{"class":544,"line":903},[542,1776,579],{"emptyLinePlaceholder":578},[542,1778,1779],{"class":544,"line":914},[542,1780,932],{"class":548},[542,1782,1783],{"class":544,"line":924},[542,1784,938],{"class":548},[542,1786,1787,1789,1791,1793],{"class":544,"line":929},[542,1788,642],{"class":561},[542,1790,645],{"class":565},[542,1792,648],{"class":561},[542,1794,950],{"class":565},[542,1796,1797,1799,1801,1803,1805,1807,1809,1811,1813],{"class":544,"line":935},[542,1798,783],{"class":561},[542,1800,958],{"class":565},[542,1802,711],{"class":592},[542,1804,963],{"class":565},[542,1806,705],{"class":592},[542,1808,968],{"class":565},[542,1810,789],{"class":561},[542,1812,792],{"class":592},[542,1814,795],{"class":565},[542,1816,1817],{"class":544,"line":941},[542,1818,980],{"class":565},[542,1820,1821,1823],{"class":544,"line":953},[542,1822,986],{"class":561},[542,1824,795],{"class":565},[542,1826,1827],{"class":544,"line":977},[542,1828,994],{"class":565},[542,1830,1831],{"class":544,"line":983},[542,1832,579],{"emptyLinePlaceholder":578},[542,1834,1835],{"class":544,"line":991},[542,1836,1005],{"class":548},[542,1838,1839],{"class":544,"line":997},[542,1840,1011],{"class":548},[542,1842,1843,1845,1847],{"class":544,"line":1002},[542,1844,1017],{"class":565},[542,1846,630],{"class":561},[542,1848,804],{"class":592},[542,1850,1851,1853,1855],{"class":544,"line":1008},[542,1852,1027],{"class":565},[542,1854,630],{"class":561},[542,1856,804],{"class":592},[542,1858,1859,1861,1863],{"class":544,"line":1014},[542,1860,1037],{"class":565},[542,1862,630],{"class":561},[542,1864,1042],{"class":565},[542,1866,1867,1869,1871,1873],{"class":544,"line":1024},[542,1868,1048],{"class":565},[542,1870,630],{"class":561},[542,1872,1053],{"class":592},[542,1874,1056],{"class":565},[542,1876,1877,1879,1881,1883,1885,1887,1889,1891,1893,1895],{"class":544,"line":1034},[542,1878,642],{"class":561},[542,1880,1064],{"class":565},[542,1882,648],{"class":561},[542,1884,1069],{"class":592},[542,1886,596],{"class":565},[542,1888,711],{"class":592},[542,1890,1076],{"class":565},[542,1892,851],{"class":561},[542,1894,1081],{"class":592},[542,1896,1084],{"class":565},[542,1898,1899,1901,1903,1905],{"class":544,"line":1045},[542,1900,1090],{"class":561},[542,1902,1093],{"class":565},[542,1904,648],{"class":561},[542,1906,1098],{"class":565},[542,1908,1909,1911,1913,1915,1917],{"class":544,"line":1059},[542,1910,1104],{"class":565},[542,1912,705],{"class":592},[542,1914,968],{"class":565},[542,1916,1111],{"class":561},[542,1918,1114],{"class":592},[542,1920,1921,1923,1925,1927,1929,1931,1933],{"class":544,"line":1087},[542,1922,1120],{"class":561},[542,1924,1123],{"class":565},[542,1926,705],{"class":592},[542,1928,968],{"class":565},[542,1930,1130],{"class":561},[542,1932,792],{"class":592},[542,1934,795],{"class":565},[542,1936,1937,1939,1941,1943,1945],{"class":544,"line":1101},[542,1938,1140],{"class":561},[542,1940,1143],{"class":561},[542,1942,1146],{"class":565},[542,1944,1149],{"class":592},[542,1946,1084],{"class":565},[542,1948,1949,1951,1953],{"class":544,"line":1117},[542,1950,1157],{"class":565},[542,1952,630],{"class":561},[542,1954,911],{"class":565},[542,1956,1957],{"class":544,"line":1137},[542,1958,1167],{"class":565},[542,1960,1961,1963,1965,1967],{"class":544,"line":1154},[542,1962,1090],{"class":561},[542,1964,1175],{"class":565},[542,1966,648],{"class":561},[542,1968,1180],{"class":565},[542,1970,1971,1973,1975,1977,1979],{"class":544,"line":1164},[542,1972,1186],{"class":565},[542,1974,630],{"class":561},[542,1976,1191],{"class":565},[542,1978,711],{"class":592},[542,1980,858],{"class":565},[542,1982,1983,1985,1987,1989],{"class":544,"line":1170},[542,1984,657],{"class":561},[542,1986,1203],{"class":565},[542,1988,648],{"class":561},[542,1990,1208],{"class":565},[542,1992,1993,1995,1997],{"class":544,"line":1183},[542,1994,1214],{"class":565},[542,1996,630],{"class":561},[542,1998,1219],{"class":592},[542,2000,2001,2003,2005,2007,2009,2011,2013],{"class":544,"line":1198},[542,2002,1140],{"class":561},[542,2004,1227],{"class":565},[542,2006,705],{"class":592},[542,2008,968],{"class":565},[542,2010,1234],{"class":561},[542,2012,792],{"class":592},[542,2014,795],{"class":565},[542,2016,2017,2019,2021],{"class":544,"line":1211},[542,2018,1244],{"class":565},[542,2020,630],{"class":561},[542,2022,1249],{"class":592},[542,2024,2025,2027],{"class":544,"line":1222},[542,2026,1255],{"class":561},[542,2028,795],{"class":565},[542,2030,2031],{"class":544,"line":1241},[542,2032,1263],{"class":561},[542,2034,2035,2037],{"class":544,"line":1252},[542,2036,1120],{"class":561},[542,2038,1271],{"class":565},[542,2040,2041,2043,2045,2047,2049],{"class":544,"line":1260},[542,2042,1277],{"class":565},[542,2044,705],{"class":592},[542,2046,968],{"class":565},[542,2048,1111],{"class":561},[542,2050,1114],{"class":592},[542,2052,2053,2055,2057,2059,2061,2063,2065],{"class":544,"line":1266},[542,2054,1140],{"class":561},[542,2056,1191],{"class":565},[542,2058,705],{"class":592},[542,2060,968],{"class":565},[542,2062,1130],{"class":561},[542,2064,792],{"class":592},[542,2066,795],{"class":565},[542,2068,2069,2071,2073,2075,2077],{"class":544,"line":1274},[542,2070,1308],{"class":561},[542,2072,1143],{"class":561},[542,2074,1146],{"class":565},[542,2076,1149],{"class":592},[542,2078,1084],{"class":565},[542,2080,2081,2083,2085],{"class":544,"line":1288},[542,2082,1322],{"class":565},[542,2084,630],{"class":561},[542,2086,911],{"class":565},[542,2088,2089],{"class":544,"line":1305},[542,2090,1332],{"class":565},[542,2092,2093],{"class":544,"line":1319},[542,2094,579],{"emptyLinePlaceholder":578},[542,2096,2097],{"class":544,"line":1329},[542,2098,1343],{"class":548},[542,2100,2101],{"class":544,"line":1335},[542,2102,579],{"emptyLinePlaceholder":578},[542,2104,2105],{"class":544,"line":1340},[542,2106,2107],{"class":548},"# Полное решение задачи, если процессы стартовые А, которые раньше заканчиваются вместе с подпроцессами\n",[542,2109,2110],{"class":544,"line":1346},[542,2111,1360],{"class":548},[542,2113,2114,2116,2118],{"class":544,"line":1351},[542,2115,1366],{"class":565},[542,2117,630],{"class":561},[542,2119,804],{"class":592},[542,2121,2122,2125,2127,2129],{"class":544,"line":1357},[542,2123,2124],{"class":565},"count_procs ",[542,2126,630],{"class":561},[542,2128,792],{"class":592},[542,2130,2131],{"class":548},"   # задать 999999999 если ищем минимальную продолжительность процессов или 0 если максимальную\n",[542,2133,2134,2137,2139],{"class":544,"line":1363},[542,2135,2136],{"class":565},"flag ",[542,2138,630],{"class":561},[542,2140,1249],{"class":592},[542,2142,2143,2145,2147,2149],{"class":544,"line":1373},[542,2144,642],{"class":561},[542,2146,1378],{"class":565},[542,2148,648],{"class":561},[542,2150,1383],{"class":565},[542,2152,2153,2155,2157,2159,2161,2163,2166],{"class":544,"line":1386},[542,2154,783],{"class":561},[542,2156,1391],{"class":592},[542,2158,1394],{"class":565},[542,2160,789],{"class":561},[542,2162,1399],{"class":592},[542,2164,2165],{"class":565},":  ",[542,2167,2168],{"class":548},"# Меняем на 3 если максимальную продолжительность 3-х процессов ищем и т.п.\n",[542,2170,2171,2173],{"class":544,"line":1404},[542,2172,1120],{"class":561},[542,2174,1271],{"class":565},[542,2176,2177,2180,2182],{"class":544,"line":1415},[542,2178,2179],{"class":565},"            count_four_procs ",[542,2181,1410],{"class":561},[542,2183,1114],{"class":592},[542,2185,2186,2189],{"class":544,"line":1420},[542,2187,2188],{"class":561},"        else",[542,2190,795],{"class":565},[542,2192,2194,2196,2198],{"class":544,"line":2193},79,[542,2195,2179],{"class":565},[542,2197,630],{"class":561},[542,2199,804],{"class":592},[542,2201,2203,2205,2207],{"class":544,"line":2202},80,[542,2204,2179],{"class":565},[542,2206,1410],{"class":561},[542,2208,1114],{"class":592},[542,2210,2212,2214,2216],{"class":544,"line":2211},81,[542,2213,1214],{"class":565},[542,2215,630],{"class":561},[542,2217,1249],{"class":592},[542,2219,2221,2223],{"class":544,"line":2220},82,[542,2222,986],{"class":561},[542,2224,795],{"class":565},[542,2226,2228,2231,2233],{"class":544,"line":2227},83,[542,2229,2230],{"class":565},"        flag ",[542,2232,630],{"class":561},[542,2234,1219],{"class":592},[542,2236,2238,2241,2243,2245,2248],{"class":544,"line":2237},84,[542,2239,2240],{"class":565},"        count_procs ",[542,2242,630],{"class":561},[542,2244,831],{"class":592},[542,2246,2247],{"class":565},"(count_procs, count_four_procs)  ",[542,2249,2250],{"class":548},"# min если ищем минимальную продолжительность процессов\n",[542,2252,2254],{"class":544,"line":2253},85,[542,2255,579],{"emptyLinePlaceholder":578},[542,2257,2259,2261,2263,2266],{"class":544,"line":2258},86,[542,2260,1423],{"class":592},[542,2262,596],{"class":565},[542,2264,2265],{"class":599},"'Ответ: '",[542,2267,2268],{"class":565},",count_procs)\n",[397,2270,2271],{},[413,2272,1434],{},[397,2274,2275],{},[401,2276,2277],{},"Ответ: 5",[439,2279,2281],{"id":2280},"задача-3-демоверсия-2026","Задача 3 (Демоверсия 2026)",[397,2283,1446],{},[397,2285,448],{},[397,2287,463,2288,2291],{},[401,2289,2290],{},"максимальное количество процессов",", которые могут быть завершены за первые 17мс. Считать, что каждый процесс начинается в самое раннее допустимое время.\nНумерация миллисекунд начинается с 1.",[397,2293,2294],{},[401,2295,2296],{},"Для выполнения задания используйте данные из прилагаемого файла.",[478,2298],{"address":2299,"description":481},"\u002Ffiles\u002Fege\u002Ftask22\u002Fzadanie22_3.zip",[483,2301,486],{"id":2302},"решение-2",[488,2304,491],{"id":2305},"решение-с-помощью-электронной-таблицы-2",[397,2307,494],{},[397,2309,1487],{},[397,2311,500],{},[397,2313,2314],{},"Справа от нашей таблицы для каждой строчки мы будем выделять ячейки каким-нибудь цветом, сколько длиться соответствующий процесс.\nЕсли процесс зависит от какого-либо процесса, он должен дождаться его выполнения, а потом уже выполниться сам.\nЕсли процесс зависит от нескольких процессов, то он должен дождаться выполнения самого долгого процесса, а потом выполниться сам.\nПосле разрисовывания такой \"диаграммы\" по клеточкам мы легко сможем посчитать количество процессов которые завершаться до 17 мс.",[397,2316,2317],{},[413,2318,2319],{},"p.s. Подробнее с комментариями решения такой задачи был здесь выше на видео(на примере задачи из демоверсии 2024 года).",[488,2321,521],{"id":2322},"решение-на-python-2",[397,2324,524],{},[478,2326],{"address":2327,"description":528},"\u002Ffiles\u002Fege\u002Ftask22\u002F22_2026.txt",[397,2329,531],{},[533,2331,2333],{"className":535,"code":2332,"language":537,"meta":517,"style":517},"file = open('22_2026.txt').read().replace(';', ' ')\n# преобразуем данные в список строк из чисел\nnums = [[int(x) for x in s.split()] for s in file.split('\\n')]\n# создадим словарь вида\n# № процесса: (время выполнения, процессы)\nprs = {c[0]: [c[1], c[2:]] for c in nums}\n\n\n# определим функцию, которая возвращает время работы процесса\n# n - номер процесса\ndef f(n):\n    # если номер равен 0, то время выполнения 0\n    # (начало всех процессов)\n    if n == 0:\n        return 0\n    # иначе максимальное время выполнения\n    # для всех предыдущих процессов\n    # плюс время выполнения процесса n\n    return max(f(x) for x in prs[n][1]) + prs[n][0]\n\n\n# находим максимальное значение мс\nmax_mc = max(f(x) for x in prs)\n\nnum_prs = set(prs.keys())\ndict_mc = dict()  # Словарь у которого ключ это время в мс по порядку, а значение это запущенные процессы в эту мс\nfor mc in range(1, max_mc + 1):\n    dict_mc[mc] = []\n    for key_pr in prs:\n        proc_mc = prs[key_pr][0]\n        sub_procs = prs[key_pr][1]\n        for sub_proc in sub_procs:\n            if sub_proc in num_prs:\n                continue\n            else:\n                prs[key_pr][1].remove(sub_proc)\n        sub_procs = prs[key_pr][1]\n        if len(sub_procs) == 0 and proc_mc > 0:\n            dict_mc[mc].append(key_pr)\n            prs[key_pr][0] -= 1\n    for key_pr in prs:\n        if prs[key_pr][0] == 0:\n            if key_pr in num_prs:\n                num_prs.remove(key_pr)\n\nprint(dict_mc) # Показывает по ключам мс и запущенные процессы\n\n# Полное решение задачи, если процессы стартовые А, которые раньше заканчиваются вместе с подпроцессами\n# в отличие от самой длинной цепочки процессов - смещать по времени от 1 мс нельзя!\ncount = 0   # счётчик для ответа количество процессов которые завершаться за первые 17 мс\nmc_check = 18 # ограничение до 18 мс\nset_procs = set(dict_mc[1])  # записываем во множество id процессов которые запустились на 1 мс.\nfor key_mc in range(2, mc_check + 1): # проходим в цикле по мс\n    procs = dict_mc[key_mc]\n    for proc in procs:\n        if proc in set_procs:\n            set_procs.remove(proc)\n    count += len(set_procs)\n    set_procs = set(procs)\n\nprint('Ответ: ',count)\n",[539,2334,2335,2358,2362,2400,2404,2408,2437,2441,2445,2449,2453,2461,2465,2469,2481,2487,2491,2495,2499,2528,2532,2536,2541,2560,2564,2577,2591,2613,2622,2634,2648,2661,2673,2684,2689,2695,2705,2717,2743,2748,2761,2771,2787,2797,2802,2806,2816,2820,2824,2828,2839,2852,2872,2899,2909,2921,2932,2937,2949,2961,2965],{"__ignoreMap":517},[542,2336,2337,2339,2341,2343,2345,2348,2350,2352,2354,2356],{"class":544,"line":545},[542,2338,586],{"class":585},[542,2340,589],{"class":561},[542,2342,593],{"class":592},[542,2344,596],{"class":565},[542,2346,2347],{"class":599},"'22_2026.txt'",[542,2349,603],{"class":565},[542,2351,606],{"class":599},[542,2353,609],{"class":565},[542,2355,612],{"class":599},[542,2357,615],{"class":565},[542,2359,2360],{"class":544,"line":552},[542,2361,621],{"class":548},[542,2363,2364,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392,2394,2396,2398],{"class":544,"line":558},[542,2365,627],{"class":565},[542,2367,630],{"class":561},[542,2369,633],{"class":565},[542,2371,636],{"class":592},[542,2373,639],{"class":565},[542,2375,642],{"class":561},[542,2377,645],{"class":565},[542,2379,648],{"class":561},[542,2381,1582],{"class":565},[542,2383,642],{"class":561},[542,2385,660],{"class":565},[542,2387,648],{"class":561},[542,2389,665],{"class":585},[542,2391,668],{"class":565},[542,2393,671],{"class":599},[542,2395,674],{"class":592},[542,2397,671],{"class":599},[542,2399,679],{"class":565},[542,2401,2402],{"class":544,"line":575},[542,2403,685],{"class":548},[542,2405,2406],{"class":544,"line":582},[542,2407,691],{"class":548},[542,2409,2410,2413,2415,2417,2419,2421,2423,2425,2427,2429,2431,2433,2435],{"class":544,"line":618},[542,2411,2412],{"class":565},"prs ",[542,2414,630],{"class":561},[542,2416,702],{"class":565},[542,2418,705],{"class":592},[542,2420,708],{"class":565},[542,2422,711],{"class":592},[542,2424,714],{"class":565},[542,2426,717],{"class":592},[542,2428,720],{"class":565},[542,2430,642],{"class":561},[542,2432,725],{"class":565},[542,2434,648],{"class":561},[542,2436,730],{"class":565},[542,2438,2439],{"class":544,"line":624},[542,2440,579],{"emptyLinePlaceholder":578},[542,2442,2443],{"class":544,"line":654},[542,2444,579],{"emptyLinePlaceholder":578},[542,2446,2447],{"class":544,"line":682},[542,2448,746],{"class":548},[542,2450,2451],{"class":544,"line":688},[542,2452,752],{"class":548},[542,2454,2455,2457,2459],{"class":544,"line":694},[542,2456,758],{"class":561},[542,2458,762],{"class":761},[542,2460,765],{"class":565},[542,2462,2463],{"class":544,"line":733},[542,2464,771],{"class":548},[542,2466,2467],{"class":544,"line":738},[542,2468,777],{"class":548},[542,2470,2471,2473,2475,2477,2479],{"class":544,"line":743},[542,2472,783],{"class":561},[542,2474,786],{"class":565},[542,2476,789],{"class":561},[542,2478,792],{"class":592},[542,2480,795],{"class":565},[542,2482,2483,2485],{"class":544,"line":749},[542,2484,801],{"class":561},[542,2486,804],{"class":592},[542,2488,2489],{"class":544,"line":755},[542,2490,810],{"class":548},[542,2492,2493],{"class":544,"line":768},[542,2494,816],{"class":548},[542,2496,2497],{"class":544,"line":774},[542,2498,822],{"class":548},[542,2500,2501,2503,2505,2507,2509,2511,2513,2516,2518,2520,2522,2524,2526],{"class":544,"line":780},[542,2502,828],{"class":561},[542,2504,831],{"class":592},[542,2506,834],{"class":565},[542,2508,642],{"class":561},[542,2510,645],{"class":565},[542,2512,648],{"class":561},[542,2514,2515],{"class":565}," prs[n][",[542,2517,711],{"class":592},[542,2519,848],{"class":565},[542,2521,851],{"class":561},[542,2523,2515],{"class":565},[542,2525,705],{"class":592},[542,2527,858],{"class":565},[542,2529,2530],{"class":544,"line":798},[542,2531,579],{"emptyLinePlaceholder":578},[542,2533,2534],{"class":544,"line":807},[542,2535,579],{"emptyLinePlaceholder":578},[542,2537,2538],{"class":544,"line":813},[542,2539,2540],{"class":548},"# находим максимальное значение мс\n",[542,2542,2543,2545,2547,2549,2551,2553,2555,2557],{"class":544,"line":819},[542,2544,880],{"class":565},[542,2546,630],{"class":561},[542,2548,831],{"class":592},[542,2550,834],{"class":565},[542,2552,642],{"class":561},[542,2554,645],{"class":565},[542,2556,648],{"class":561},[542,2558,2559],{"class":565}," prs)\n",[542,2561,2562],{"class":544,"line":825},[542,2563,579],{"emptyLinePlaceholder":578},[542,2565,2566,2569,2571,2574],{"class":544,"line":861},[542,2567,2568],{"class":565},"num_prs ",[542,2570,630],{"class":561},[542,2572,2573],{"class":592}," set",[542,2575,2576],{"class":565},"(prs.keys())\n",[542,2578,2579,2581,2583,2585,2588],{"class":544,"line":866},[542,2580,1048],{"class":565},[542,2582,630],{"class":561},[542,2584,1053],{"class":592},[542,2586,2587],{"class":565},"()  ",[542,2589,2590],{"class":548},"# Словарь у которого ключ это время в мс по порядку, а значение это запущенные процессы в эту мс\n",[542,2592,2593,2595,2597,2599,2601,2603,2605,2607,2609,2611],{"class":544,"line":871},[542,2594,642],{"class":561},[542,2596,1064],{"class":565},[542,2598,648],{"class":561},[542,2600,1069],{"class":592},[542,2602,596],{"class":565},[542,2604,711],{"class":592},[542,2606,1076],{"class":565},[542,2608,851],{"class":561},[542,2610,1081],{"class":592},[542,2612,1084],{"class":565},[542,2614,2615,2618,2620],{"class":544,"line":877},[542,2616,2617],{"class":565},"    dict_mc[mc] ",[542,2619,630],{"class":561},[542,2621,911],{"class":565},[542,2623,2624,2626,2629,2631],{"class":544,"line":898},[542,2625,1090],{"class":561},[542,2627,2628],{"class":565}," key_pr ",[542,2630,648],{"class":561},[542,2632,2633],{"class":565}," prs:\n",[542,2635,2636,2639,2641,2644,2646],{"class":544,"line":903},[542,2637,2638],{"class":565},"        proc_mc ",[542,2640,630],{"class":561},[542,2642,2643],{"class":565}," prs[key_pr][",[542,2645,705],{"class":592},[542,2647,858],{"class":565},[542,2649,2650,2653,2655,2657,2659],{"class":544,"line":914},[542,2651,2652],{"class":565},"        sub_procs ",[542,2654,630],{"class":561},[542,2656,2643],{"class":565},[542,2658,711],{"class":592},[542,2660,858],{"class":565},[542,2662,2663,2665,2668,2670],{"class":544,"line":924},[542,2664,657],{"class":561},[542,2666,2667],{"class":565}," sub_proc ",[542,2669,648],{"class":561},[542,2671,2672],{"class":565}," sub_procs:\n",[542,2674,2675,2677,2679,2681],{"class":544,"line":929},[542,2676,1140],{"class":561},[542,2678,2667],{"class":565},[542,2680,648],{"class":561},[542,2682,2683],{"class":565}," num_prs:\n",[542,2685,2686],{"class":544,"line":935},[542,2687,2688],{"class":561},"                continue\n",[542,2690,2691,2693],{"class":544,"line":941},[542,2692,1255],{"class":561},[542,2694,795],{"class":565},[542,2696,2697,2700,2702],{"class":544,"line":953},[542,2698,2699],{"class":565},"                prs[key_pr][",[542,2701,711],{"class":592},[542,2703,2704],{"class":565},"].remove(sub_proc)\n",[542,2706,2707,2709,2711,2713,2715],{"class":544,"line":977},[542,2708,2652],{"class":565},[542,2710,630],{"class":561},[542,2712,2643],{"class":565},[542,2714,711],{"class":592},[542,2716,858],{"class":565},[542,2718,2719,2721,2723,2726,2728,2730,2733,2736,2739,2741],{"class":544,"line":983},[542,2720,1120],{"class":561},[542,2722,1391],{"class":592},[542,2724,2725],{"class":565},"(sub_procs) ",[542,2727,789],{"class":561},[542,2729,792],{"class":592},[542,2731,2732],{"class":561}," and",[542,2734,2735],{"class":565}," proc_mc ",[542,2737,2738],{"class":561},">",[542,2740,792],{"class":592},[542,2742,795],{"class":565},[542,2744,2745],{"class":544,"line":991},[542,2746,2747],{"class":565},"            dict_mc[mc].append(key_pr)\n",[542,2749,2750,2753,2755,2757,2759],{"class":544,"line":997},[542,2751,2752],{"class":565},"            prs[key_pr][",[542,2754,705],{"class":592},[542,2756,968],{"class":565},[542,2758,1111],{"class":561},[542,2760,1114],{"class":592},[542,2762,2763,2765,2767,2769],{"class":544,"line":1002},[542,2764,1090],{"class":561},[542,2766,2628],{"class":565},[542,2768,648],{"class":561},[542,2770,2633],{"class":565},[542,2772,2773,2775,2777,2779,2781,2783,2785],{"class":544,"line":1008},[542,2774,1120],{"class":561},[542,2776,2643],{"class":565},[542,2778,705],{"class":592},[542,2780,968],{"class":565},[542,2782,789],{"class":561},[542,2784,792],{"class":592},[542,2786,795],{"class":565},[542,2788,2789,2791,2793,2795],{"class":544,"line":1014},[542,2790,1140],{"class":561},[542,2792,2628],{"class":565},[542,2794,648],{"class":561},[542,2796,2683],{"class":565},[542,2798,2799],{"class":544,"line":1024},[542,2800,2801],{"class":565},"                num_prs.remove(key_pr)\n",[542,2803,2804],{"class":544,"line":1034},[542,2805,579],{"emptyLinePlaceholder":578},[542,2807,2808,2810,2813],{"class":544,"line":1045},[542,2809,1423],{"class":592},[542,2811,2812],{"class":565},"(dict_mc) ",[542,2814,2815],{"class":548},"# Показывает по ключам мс и запущенные процессы\n",[542,2817,2818],{"class":544,"line":1059},[542,2819,579],{"emptyLinePlaceholder":578},[542,2821,2822],{"class":544,"line":1087},[542,2823,2107],{"class":548},[542,2825,2826],{"class":544,"line":1101},[542,2827,1360],{"class":548},[542,2829,2830,2832,2834,2836],{"class":544,"line":1117},[542,2831,1027],{"class":565},[542,2833,630],{"class":561},[542,2835,792],{"class":592},[542,2837,2838],{"class":548},"   # счётчик для ответа количество процессов которые завершаться за первые 17 мс\n",[542,2840,2841,2844,2846,2849],{"class":544,"line":1137},[542,2842,2843],{"class":565},"mc_check ",[542,2845,630],{"class":561},[542,2847,2848],{"class":592}," 18",[542,2850,2851],{"class":548}," # ограничение до 18 мс\n",[542,2853,2854,2857,2859,2861,2864,2866,2869],{"class":544,"line":1154},[542,2855,2856],{"class":565},"set_procs ",[542,2858,630],{"class":561},[542,2860,2573],{"class":592},[542,2862,2863],{"class":565},"(dict_mc[",[542,2865,711],{"class":592},[542,2867,2868],{"class":565},"])  ",[542,2870,2871],{"class":548},"# записываем во множество id процессов которые запустились на 1 мс.\n",[542,2873,2874,2876,2878,2880,2882,2884,2886,2889,2891,2893,2896],{"class":544,"line":1164},[542,2875,642],{"class":561},[542,2877,1378],{"class":565},[542,2879,648],{"class":561},[542,2881,1069],{"class":592},[542,2883,596],{"class":565},[542,2885,717],{"class":592},[542,2887,2888],{"class":565},", mc_check ",[542,2890,851],{"class":561},[542,2892,1081],{"class":592},[542,2894,2895],{"class":565},"): ",[542,2897,2898],{"class":548},"# проходим в цикле по мс\n",[542,2900,2901,2904,2906],{"class":544,"line":1170},[542,2902,2903],{"class":565},"    procs ",[542,2905,630],{"class":561},[542,2907,2908],{"class":565}," dict_mc[key_mc]\n",[542,2910,2911,2913,2916,2918],{"class":544,"line":1183},[542,2912,1090],{"class":561},[542,2914,2915],{"class":565}," proc ",[542,2917,648],{"class":561},[542,2919,2920],{"class":565}," procs:\n",[542,2922,2923,2925,2927,2929],{"class":544,"line":1198},[542,2924,1120],{"class":561},[542,2926,2915],{"class":565},[542,2928,648],{"class":561},[542,2930,2931],{"class":565}," set_procs:\n",[542,2933,2934],{"class":544,"line":1211},[542,2935,2936],{"class":565},"            set_procs.remove(proc)\n",[542,2938,2939,2942,2944,2946],{"class":544,"line":1222},[542,2940,2941],{"class":565},"    count ",[542,2943,1410],{"class":561},[542,2945,1391],{"class":592},[542,2947,2948],{"class":565},"(set_procs)\n",[542,2950,2951,2954,2956,2958],{"class":544,"line":1241},[542,2952,2953],{"class":565},"    set_procs ",[542,2955,630],{"class":561},[542,2957,2573],{"class":592},[542,2959,2960],{"class":565},"(procs)\n",[542,2962,2963],{"class":544,"line":1252},[542,2964,579],{"emptyLinePlaceholder":578},[542,2966,2967,2969,2971,2973],{"class":544,"line":1260},[542,2968,1423],{"class":592},[542,2970,596],{"class":565},[542,2972,2265],{"class":599},[542,2974,2975],{"class":565},",count)\n",[397,2977,2978],{},[413,2979,1434],{},[397,2981,2982],{},[401,2983,2984],{},"Ответ: 12",[2986,2987,2988],"style",{},"html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sqxcx, html code.shiki .sqxcx{--shiki-default:#E36209}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":517,"searchDepth":552,"depth":582,"links":2990},[2991,2997,3003],{"id":441,"depth":575,"text":442,"children":2992},[2993],{"id":485,"depth":582,"text":486,"children":2994},[2995,2996],{"id":490,"depth":618,"text":491},{"id":520,"depth":618,"text":521},{"id":1442,"depth":575,"text":1443,"children":2998},[2999],{"id":1479,"depth":582,"text":486,"children":3000},[3001,3002],{"id":1482,"depth":618,"text":491},{"id":1500,"depth":618,"text":521},{"id":2280,"depth":575,"text":2281,"children":3004},[3005],{"id":2302,"depth":582,"text":486,"children":3006},[3007,3008],{"id":2305,"depth":618,"text":491},{"id":2322,"depth":618,"text":521},"2025-09-04","Многопроцессорные системы. Параллельные процессы","md","images\u002Fblog\u002Fege\u002Ftask22\u002Fimg.png",{},{"title":63,"description":3010},"Am82GvxksvR9H5v-5EWG_R8nsVplmZLdtG8FEaMec9I",[3017,3019],{"title":55,"path":56,"stem":57,"description":3018,"children":-1},"Теория игр. Выйгрышная стратегия",{"title":67,"path":68,"stem":69,"description":3020,"children":-1},"Оператор присваивания и ветвления. Перебор вариантов построения дерева",1780737505460]