把
for(int i=1;i<n;i++)c[i]=((ll)c[i-1]*q+p)%m%n;
改成
for(int i=1;i<n;i++)c[i]=((ll)c[i-1]*q+p)%m; for(int i=1;i<n;i++)c[i]%=n;
就过了??