Впоследнее время становится все больше олимпиад по программированию. чтобы участникам
было удобнее, организаторы стараются, чтобы олимпиады не пересекались по времени, однако иногда такое случается.
однажды две олимпиады были запланированы в один день. первая олимпиада должна была
начаться в момент времени s1 и длиться d1 (таким образом, заканчиваясь в момент s1 + d1), вторая
же должна начаться в момент времени s2 и длиться d2 (заканчиваясь в s2 + d2). длительность
олимпиад изменять нельзя, однако начало можно двигать по времени. при этом оба организатора
имеют следующие ограничения на передвижение олимпиад. первая олимпиада должна начаться не
раньше l1 и закончиться не позже r1, вторая — начаться не раньше l2 и закончиться не позже r2.
ваша — написать программу, которая бы организаторам олимпиад перенести их
таким образом, чтобы они не пересекались, и при этом выполнялись все ограничения. если решений
несколько, вам требуется найти такое, в котором суммарное изменение времени начала олимпиад,
минимально. то есть, если олимпиады нужно начать в моменты времени c1 и c2, то вам нужно
минимизировать величину (|s1 − c1| + |s2 − c2|).
формат входных данных
входные данные содержат несколько тестов.
первая строка содержит целое число n — число тестов, которые нужно решить (1 6 n 6 50 000)
далее следуют описания n тестов. описание каждого теста состоит из двух строк.
первая из этих строк содержит четыре целых числа l1, r1, l2 и r2 — ограничение на время проведения олимпиад (0 6 li < ri 6 109
).
вторая из этих строк содержит четыре целых числа s1, d1, s2 и d2 — времена начала олимпиад
и их длительности (li 6 si
; si + di 6 ri).
формат выходных данных
выведите n строк. в i строке выведите ответ на i-й тест.
в качестве ответа на тест выведите два целых числа c1 и c2: времена начала первой и второй
олимпиады в новом расписании, соответственно. если есть несколько решений, минимизирующих
суммарный сдвиг, выведите любое. если невозможно провести олимпиады, удовлетворив все ограничения, выведите два числа −1.
103
218
Ответы на вопрос:
ответ: 52 82
объяснение: роируотлаащмшкдлимткилоотшумшощкмлитмщкг коврик в ег
Программа: var n,a1,a2,s1,s2: integer; begin write('n = '); readln(n); a1: =n div 1000; s1: =(a1 div 100)+(a1 div 10 mod 10)+(a1 mod 10); a2: =n mod 1000; s2: =(a2 div 100)+(a2 div 10 mod 10)+(a2 mod 10); if s1=s2 then writeln('билет счастливый') else writeln('билет не счастливый') end. пример: n = 123231 билет счастливый блок-схема - в прилагаемом файле.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Oktay482842210.02.2023 23:02
-
Gianfed19.05.2022 20:18
-
dashullya200123.08.2021 22:56
-
Маша1057803.01.2023 11:09
-
рябиночка1716.11.2020 02:18
-
Tima90828.01.2022 09:04
-
kareta200401.11.2022 04:10
-
DanielFray21.09.2022 02:43
-
Erikalallala14.09.2020 05:43
-
Мадам4444444402.12.2021 10:39
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.