Cod sursa(job #115543)

Utilizator meciprymecipry mecipry Data 16 decembrie 2007 12:56:57
Problema Rays Scor 0
Compilator fpc Status done
Runda preONI 2008, Runda 2, Clasa a 10-a Marime 1.06 kb
program rays;
type coord=record
					 x,y1,y2:integer;
					 end;
		 abc=array[1..100]of coord;
		 cifre=byte;
		 multime=set of cifre;
var a:abc;
		m:multime;
		i,j,n,r,q,min:integer;
		f,g:text;
		aux:coord;
begin
	 assign(f,'rays.in');
	 reset(f);
	 assign(g,'rays.out');
	 rewrite(g);
	 readln(f,n);
	 min:=n;
	 for i:=1 to n do readln(f,a[i].x,a[i].y1,a[i].y2);
	 r:=0; q:=0;
	 for i:=1 to n do
		 for j:=1 to n-1 do
			 if a[j].x>a[j+1].x then begin
																	aux:=a[j];
																	a[j]:=a[j+1];
																	a[j+1]:=aux;
															 end;
	 for i:=1 to n do
		 if a[i].x<0 then r:=r+1
		 else if a[i].x>0 then q:=q+1;

	 m:=[];
	 for i:=1 to r-1 do
		 begin
			 for j:=a[i].y1 to a[i].y2 do m:=m+[j];
			 for j:=a[i+1].y1 to a[i+1].y2 do
				 if j in m then min:=min-(i+1);

		 end;
	 m:=[];
	 for i:=r+1 to n do
		 begin
			 for j:=a[i].y1 to a[i].y2 do m:=m+[j];
			 for j:=a[i+1].y1 to a[i+1].y2 do
				 if j in m then min:=min-(i+1);

		 end;
		 write(g,min);
		 close(f);
		 close(g);
end.