На числовой прямой даны три отрезка:
Известно, что для некоторого отрезка A логическое выражение
Определите наименьшее возможное количество целочисленных точек, принадлежащих отрезку A.
Введем обозначения:
Применив преобразование импликации, получаем:
Логическое ИЛИ истинно, если истинно хотя бы одно утверждение.
Ответ: 315382.
Приведём решение Сергея Донец на PascalABC.NET:
begin
var P:=167242..514210;var Q:=403149..718530;var R:=522897..816282;
var setX:=|P.First,P.Last,Q.First,Q.Last,R.First,R.Last|.Distinct;
var i:=setX.Order.Combinations(2).Select(m->m[0]..m[1])
.Where(A->setX.All(x->(x in Q)<=(((x in P)or(x in R))<=(x in A))
)).Min(A->A.High-A.Low);Print(i+1);//315382
end.

