Pagini recente » Cod sursa (job #1937094) | Cod sursa (job #585597) | Cod sursa (job #1109343) | Cod sursa (job #249883) | Cod sursa (job #1139348)
program p1;
var a,b,c,v,best:array[0..3500] of longint;
f,g:Text;
i,n,j,u,t,k,poz,max:longint;
b1,b2:array[0..1 shl 17 ] of char;
procedure Sort(l, r: longint);
var
i, j, x, y: longint;
begin
i := l; j := r; x := c[(l+r) DIV 2];
repeat
while c[i] < x do i := i + 1;
while x < c[j] do j := j - 1;
if i <= j then
begin
y := a[i]; a[i] := a[j]; a[j] := y;
y:=b[i]; b[i]:=b[j]; b[j]:=y;
y:=c[i]; c[i]:=c[j]; c[j]:=y;
i := i + 1; j := j - 1;
end;
until i > j;
if l < j then Sort(l, j);
if i < r then Sort(i, r);
end;
begin
assign(f,'cutii.in');reset(F);
assign(g,'cutii.out');rewrite(G);
settextbuf(f,b1);
settextbuf(g,b2);
readln(f,n,t);
for k:=1 to t do begin
for i:=1 to n do readln(f,a[i],b[i],c[i]);
sort(1,n);
{for i:=0 to n do begin
v[i]:=0;
best[i]:=0;
end; }
for i:=n downto 1 do
begin
max:=0;
j:=i+1;
while (j<=n) and (best[j]>max) do begin
if (b[j]>b[i]) and (a[j]>a[i]) and (v[j]>max) then max:=v[j];
inc(J);
end;
v[i]:=max+1;
best[i]:=best[i+1];
if v[i]>best[i] then best[i]:=v[i];
end;
max:=0;
for i:=1 to n do
if v[i]>max then max:=v[i];
writeln(g,max);
end;
close(F);
close(G);
end.