fork(2) download
  1. const maxh = 500000;
  2. var n,h,i,a,min,smin:longint;
  3. f: array[1..maxh] of longint;
  4. begin
  5. readln(n,h);
  6. for i:=1 to h do
  7. f[i]:=0;
  8. for i:=1 to n do
  9. begin
  10. readln(a);
  11. if i mod 2 = 1 then
  12. begin
  13. inc(f[1]);
  14. dec(f[a+1]);
  15. end
  16. else
  17. if i mod 2 = 0 then
  18. begin
  19. inc(f[h-a+1]);
  20. dec(f[h+1]);
  21. end;
  22. end;
  23. min:=f[1];
  24. smin:=1;
  25. for i:=2 to h do
  26. begin
  27. f[i]:=f[i]+f[i-1];
  28. if f[i]=min then
  29. begin
  30. inc(smin);
  31. end
  32. else if f[i]<min then
  33. begin
  34. min:=f[i];
  35. smin:=1;
  36. end;
  37. end;
  38. writeln(min,' ',smin);
  39. end.
  40.  
Success #stdin #stdout 0.01s 2232KB
stdin
1 500000
499999
stdout
0 1