Здравствуйте. Вот задачка на паскале: С клавиатуры вводится натуральное число n - количество отрезков на координатной прямой. Затем вводятся n пар целых чисел - координаты концов отрезков. Найдите максимальное число k, для которого существует точка на прямой, покрытая k отрезками. Я решил эту задачу, но она работает не верно для отрицательных координат. Помогите найти и исправть ошибку. Заранее благодаре.
Код:
Var x, y: Array[1..100] Of Integer; n, k, i, j, t, t1, t2, h: Integer; Begin ReadLn(n); For i := 1 To n Do Begin Read(x[i]); Read(y[i]); End; For i := 1 To n-1 Do Begin For j := 1 To n-1 Do Begin If ((x[j] > x[j+1]) Or (y[j] > y[j+1])) Then Begin t := x[j]; x[j] := x[j+1]; x[j+1] := t; t := y[j]; y[j] := y[j+1]; y[j+1] := t; End; End; End; t1 := x[1]; t2 := y[n]; h := 0; For i := t1 To t2 Do Begin For j := 1 To n Do Begin If ((i >= x[j]) And (i <= y[j])) Then Begin Inc(h); End; End; If (Abs(i) = h) Then Begin t := i; End; h := 0; End; Writeln(t); ReadLn; End.
|