fork download
  1. type
  2. re=record
  3. t,x,y:longint;
  4. end;
  5.  
  6. var
  7. n,m,i,j,a,t:longint;
  8. k:array[1..10001] of re;
  9. o:array[1..10001] of longint;
  10.  
  11. procedure sort(a,b:longint);
  12. var
  13. i,j:longint;
  14. lk:re;
  15. n:boolean;
  16. begin
  17. i:=a;
  18. j:=b;
  19. n:=false;
  20. repeat
  21. if k[i].t>k[j].t then
  22. begin
  23. lk:=k[i];
  24. k[i]:=k[j];
  25. k[j]:=lk;
  26. n:=not n;
  27. end;
  28. if n then dec(j) else inc(i);
  29. until i=j;
  30. if a<i-1 then sort(a,i-1);
  31. if j+1<b then sort(j+1,b);
  32. end;
  33.  
  34. begin
  35. read(n,m);
  36. for i:=1 to m do read(k[i].t,k[i].x,k[i].y);
  37. if m>1 then sort(1,m);
  38. a:=0;
  39. for i:=1 to m do
  40. begin
  41. o[i]:=1;
  42. for j:=1 to i-1 do
  43. if (abs(k[i].x-k[j].x)+abs(k[i].y-k[j].y)<=k[i].t-k[j].t)and(o[i]<o[j]+1) then
  44. o[i]:=o[j]+1;
  45. if a<o[i] then a:=o[i];
  46. end;
  47. write(a);
  48. end.
Success #stdin #stdout 0s 432KB
stdin
2 2
1 1 1
2 2 2
stdout
1