М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Filippoa1203
Filippoa1203
13.07.2020 06:56 •  Информатика

Впоследнее время становится все больше олимпиад по программированию. чтобы участникам
было удобнее, организаторы стараются, чтобы олимпиады не пересекались по времени, однако иногда такое случается.
однажды две олимпиады были запланированы в один день. первая олимпиада должна была
начаться в момент времени 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.

👇
Ответ:
kresofbro
kresofbro
13.07.2020

ответ: 52 82

объяснение: коврик в ег

4,4(60 оценок)
Открыть все ответы
Ответ:
gspd000
gspd000
13.07.2020
Попробуй Program PascalGuru; var s:string;    f,t:text;
function preobr(s:string):string;var i,j,p,n,sered:integer;    gl,zp,slovo:string;    m:array [1..80] of string;beginzp:='!?*,.'; gl:='аоуыэяеёюи';  p:=pos(' ',s); i:=0;        repeat        inc(i);        slovo:=copy(s,1,p-1);        m[i]:=slovo;        delete(s,1,p);        p:=pos(' ',s);        until p=0;        n:=i+1;        m[n]:=s;    for i:=1 to n do     begin    s:=m[i];       if pos(s[length(s)],zp)<>0 then p:=length(s)-1 else p:=length(s);     sered:=(p div 2)+1;    if (not odd(p)) or (p<3) then continue;     if pos(s[1],gl)=0       then continue;     if pos(s[sered],gl)=0   then continue;     if pos(s[p],gl)=0       then continue;      s[1]:=UpCase(s[1]);    s[sered]:=UpCase(s[sered]);    s[p]:=UpCase(s[p]);     m[i]:=s+'('+s[1]+','+s[sered]+','+s[p]+')';     end;         s:='';     for i:=1 to n do s:=s+m[i]+' '; preobr:=s;end;
 beginassign(f,'input.txt'); reset(f);assign(t,'output.txt'); rewrite(t); while not eof(f) do      begin      readln(f,s);      writeln(t, preobr(s) );      end;  writeln('Файл успешно записан...'); close(f);close(t);readln;end.
4,6(90 оценок)
Ответ:
asdghkbf
asdghkbf
13.07.2020
Var
n,t,s,d,e:integer;
begin
writeln('');
repeat
writeln('Введите сумму в рублях<=1000');
readln(n);
until (n>0) and (n<=1000);
t:=n div 1000;
n:=n-t*1000;
s:=n div 100;
n:=n-s*100;
d:=n div 10;
if d<>1 then
begin
n:=n-d*10;
e:=n;
end;
case t of
     1:write('тысяча ');
end;
if s>=0 then
case s of
     1:write('сто ');
     2:write('двести ');
     3:write('триста ');
     4:write('четыресто ');
     5:write('пятьсот ');
     6:write('шестьсот ');
     7:write('семьсот ');
     8:write('восемьсот ');
     9:write('девятьсот ');
end;
if d>=0 then
case d of
     1:
     case n of
     10: write('десять ');
     11: write('одиннадцать ');
     12: write('двенадцать ');
     13: write('тринадцать ');
     14: write('четырнадцать ');
     15: write('пятнадцать ');
     16: write('шестнадцать ');
     17: write('семнадцать ');
     18: write('восемнадцать ');
     19: write('девятнадцать ');
     end;
     2:write('двадцать ');
     3:write('тридцать ');
     4:write('сорок ');
     5:write('пятьдесят ');
     6:write('шестьдесят ');
     7:write('семьдесят ');
     8:write('восемьдесят ');
     9:write('девяносто ');
end;
if e>=0 then
case e of
     1:write('один ');
     2:write('два ');
     3:write('три ');
     4:write('четыре ');
     5:write('пять ');
     6:write('шесть ');
     7:write('семь ');
     8:write('восемь ');
     9:write('девять ');
end;
if (e=1) then write('рубль ')
else if (e=0)or(e>4) then write('рублей ')
else write('рубля ');
end.
4,5(3 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ