{Московская городская олимпиада школьников по информатике 2003/04} {Задача "Реклама"} {Проверяющая программа by Пётр Митричев} {$R+,Q+,S+,H+} Uses SysUtils,TestLib; Const MaxN=3002; MaxM=10002; Type Integer=LongInt; Var N,MA,MO,Left,Right,Middle:Integer; L,R:Array[1..MaxN]Of Integer; P:Array[1..MaxM]Of Integer; I:Integer; Begin N:=Inf.ReadLongInt; For I:=1 To N Do Begin L[I]:=Inf.ReadLongInt; R[I]:=Inf.ReadLongInt; End; MA:=Ans.ReadLongInt; MO:=Ouf.ReadLongInt; If (MO<0) Or (MO>10000) Then Quit(_WA,'Странное количество рекламных блоков'); For I:=1 To MO Do Begin P[I]:=Ouf.ReadLongInt; If (P[I]<=0) Or (P[I]>=1000000) Then Quit(_WA,'Странное время для рекламного блока'); If (I>1) And (P[I]<=P[I-1]) Then Quit(_WA,'Последовательность времен не возрастает'); End; For I:=1 To N Do Begin Left:=0; Right:=MO+1; While Right-Left>1 Do Begin Middle:=(Left+Right) Div 2; If P[Middle]<=R[I] Then Left:=Middle Else Right:=Middle; End; If (Left<=1) Or (P[Left-1]MA Then Quit(_WA,'Слишком много рекламы') Else If MO