我的算法是o(n)的
至于为什么有人会比我快一倍,我也不知道
可能一:那个人没有附初值,直接算得
const
maxn=10000;
var
a,b,c:array[0..maxn]of longint;
i,j,k,l,n,m:longint;
begin
{assign(input,'a.in');reset(input); }
readln(n);for i:=0 to n-1 do b[i]:=-1;a[0]:=0;b[0]:=0;
for i:=1 to n do begin
read(c[i]);a[i]:=(a[i-1]+c[i])mod n;
if b[a[i]]=-1 then b[a[i]]:=i else break;
end;
writeln(i-b[a[i]]);
for j:=b[a[i]]+1 to i do writeln(c[j]);
end.