输出判定是否有误?

P1168 中位数

MSF_Akatsuki @ 2015-07-20 16:51:42

begin
 readln(n);
  for i:=1 to n do
  begin
    read(a);
    put(a);
    if i mod 2=0 then writeln(mid);
  end;
  if t.b>t.s then mid:=b[1];
    if t.b<t.s then mid:=s[1];
    if t.b=t.s then mid:=(b[1]+s[1]) div 2;
  writeln(mid);
end.

这样的主程序代码无法AC,删掉循环之后的代码就A了。 偶数时输出是因为过程先求mid,再put,所以输出延后一次循环,但是这样输出的数据行数应该是n div 2,既(n-1)/2,而题目要求输出行数(n+1)/2,是否标准输出有误?

(样例已测试,能AC的程序输出缺少末行输出)


|