首先数组要开到4e7,不然re 如果你29,可能是指针问题,看看是否+1和-1 如果你43,看看是否向后判断时循环里判断了i+z[i]<n 如果你tle,看看有没有z[i]=max(0ll,r-i+1); 不过MnZn搞不懂为啥第三条会这样