В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История

РЕШИТЬ, ПОСТАВЯТ НЕЗАЧЕТ
язык PascalABC

Возвращаясь с турслета, Вася пришел на станцию и хочет уехать в Москву. На станции не оказалось расписания электропоездов, но у Васи есть справочник, в котором указано время отправления поездов с конечных пунктов, а также время следования от каждого из конечных пунктов до станции, где находится Вася.

Васе определить, сколько ему придется ждать ближайшую электричку.

Входные данные
Сначала вводятся два числа, задающих часы и минуты прихода Васи на станцию.

Далее идет число N — количество конечных станций, от которых отправляются электрички, проходящие через Васину станцию (1≤N≤100).

Далее идет N блоков данных (по одному блоку для каждой станции). Сначала записано время Ti следования электрички от станции ее отправления до станции, где находится Вася. Время задается в минутах и выражается целым неотрицательным числом, не превышающим 1440.

Далее идет число Mi, определяющее количество электричек в сутки, отправляющихся от этой станции (1≤Mi≤100). Далее идет Mi пар чисел, задающих времена отправления электричек от этой станции. Все времена указаны в возрастающем порядке.

Часы находятся в интервале от 0 до 23, минуты – от 0 до 59.

Считается, что все электропоезда ходят ежедневно. Т.е., например, если у нас только один пункт и только одна электричка, и с этого пункта она отправляется в 23.59 и идет до Васиной станции 61 минуту, то в 01.00 Вася может на ней уехать в тот день, когда он пришел на станцию (если он пришел не позднее 01.00), или на следующий день, если он придет позднее.

Гарантируется, что хотя бы одна электричка в сутки через Васину станцию проходит.

Выходные данные
Выведите одно число — время в минутах, которое Васе придется ждать ближайшую электричку. Считается, что если Вася и электричка приходят на станцию одновременно, то Вася успевает на эту электричку и время ожидания 0.


РЕШИТЬ, ПОСТАВЯТ НЕЗАЧЕТ язык PascalABCВозвращаясь с турслета, Вася пришел на станцию и хочет уехать

Показать ответ
Ответ:
Slee1
Slee1
25.05.2020 13:54
Program esep;
var input,output:text;
n,i,j,g,nm,ans,t:integer;
ara:array[0..1000]  of integer;
ar,arq:array[0..1000] of integer;
ts,sum,a:integer;
begin assign(input,'f.in');
reset(input);  
assign(output,'f.out');
rewrite(output);
readln(input,a,n);
ans:=10000;
  for i:=1 to n do begin read (input,ar[i]);ts:=ts+2*ar[i];
end;    
if ts<a then writeln(output,'no') else  
begin
ara[1]:=3;
for i:=2 to 15 do
begin
ara[i]:=3*ara[i-1];
end;
 for i:=1 to ara[n] do
begin
if arq[n]<2 then
begin  
inc(arq[n]);
sum:=sum+ar[n];
inc(nm);  
end  else   begin   
g:=n;while arq[g]>1 do
 begin sum:=sum-ar[g]*arq[g];
dec(nm,arq[g]);arq[g]:=0;
dec(g);
end;
 inc(arq[g]);
sum:=sum+ar[g];
inc(nm);
end;
if sum=a then begin
 if nm<ans then ans:=nm;
end;
end;
 if ans>1000 then writeln(output,'yes') else
 writeln(output, ans); 
  end;
close(output);
close(input);
end.
0,0(0 оценок)
Ответ:
Заноза19
Заноза19
06.12.2021 09:45
{вот правильное решение я там забыл то чтобы подсчитывать число букв a}
var               s: string;       
   i, id, len, max, count,q: byte;
  begin    
q:=0;
      readln(s);    
      len := length(s);   
       max := 0;   
       id := 0;
         count := 0;  
        for i:=1 to len do       
           if s[i] <> ' ' then                           count := count + 1                 
else begin                 
          if count > max then begin                                   
max := count;                                  
  id := i - count;         
                  end;         
                  count := 0    
              end;      
      if count > max then begin               
max := count;              
    id := i - count;       
   end;                    
              for i:=id to id+max do     
             if s[i] = 'a' then  begin   q:=q+1;                     s[i] := 'b';     
       writeln(s,' ' ,  q);
end;
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота