8 Л 5Л 0 5 (набираем 5л в 5л) 5 0 переливаем из 5л в 8л 5 5 снова набираем 5л в 5л 8 2 переливаем из 5л в 8л 0 2 выливаем из 8л 2 5 переливаем из 5л(2) в 8л(0) и набираем 5л в 5л 7 0 переливаем из 5л в 8л 7 5 набираем 5л 8 4 переливаем из 5л в 8л 0 4 выливаем 8л 4 0 переливаем из 5л в 8л 4 5 набираем 5л в 5л 8 1 (из 5Л в 8Л переливаем) 0 1 (выливаем из 8) 1 0 (выливаем из 5) 1 5 набираем 5л в 5 лв 6 0 переливаем из 5л в 8л
возможно есть решение и покороче, но и это тоже решение.(т.к. нет лимита на переливания)
var A,B, minA, maxA, minB, maxB, minn, maxx, t, t1, i:longint;
begin
readln(A); readln(B);
minA:=(A-1)*50+1; maxA:=A*50;
minB:=(B-1)*70+1; maxB:=B*70;
if (minA>maxB) or (minB>maxA) then writeln(-1) else
begin
if minA<minB then minn:=minB else minn:=minA;
if maxA>maxB then maxx:=maxB else maxx:=maxA;
t:=minn div 60;
t1:=maxx div 60;
if (minn mod 60)<>0 then inc(t);
if (maxx mod 60)<>0 then inc(t1);
for i:=t to t1 do
write(i, ' ');
writeln();
end;
end.
не могу сказать верно или нет, так как не проверял а просто написал в блокнотике