Возвращаясь с турслета, Вася пришел на станцию и хочет уехать в Москву. На станции не оказалось расписания электропоездов, но у Васи есть справочник, в котором указано время отправления поездов с конечных пунктов, а также время следования от каждого из конечных пунктов до станции, где находится Вася.
Васе определить, сколько ему придется ждать ближайшую электричку.
Входные данные Сначала вводятся два числа, задающих часы и минуты прихода Васи на станцию.
Далее идет число N — количество конечных станций, от которых отправляются электрички, проходящие через Васину станцию (1≤N≤100).
Далее идет N блоков данных (по одному блоку для каждой станции). Сначала записано время Ti следования электрички от станции ее отправления до станции, где находится Вася. Время задается в минутах и выражается целым неотрицательным числом, не превышающим 1440.
Далее идет число Mi, определяющее количество электричек в сутки, отправляющихся от этой станции (1≤Mi≤100). Далее идет Mi пар чисел, задающих времена отправления электричек от этой станции. Все времена указаны в возрастающем порядке.
Часы находятся в интервале от 0 до 23, минуты – от 0 до 59.
Считается, что все электропоезда ходят ежедневно. Т.е., например, если у нас только один пункт и только одна электричка, и с этого пункта она отправляется в 23.59 и идет до Васиной станции 61 минуту, то в 01.00 Вася может на ней уехать в тот день, когда он пришел на станцию (если он пришел не позднее 01.00), или на следующий день, если он придет позднее.
Гарантируется, что хотя бы одна электричка в сутки через Васину станцию проходит.
Выходные данные Выведите одно число — время в минутах, которое Васе придется ждать ближайшую электричку. Считается, что если Вася и электричка приходят на станцию одновременно, то Вася успевает на эту электричку и время ожидания 0.
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.
{вот правильное решение я там забыл то чтобы подсчитывать число букв 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.
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.
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.