如果你30pts,AC#1,3,4,且在mul函数里像我这样写:
for (int i=l;i<=r;i++) { a[i] = (a[i]*k)%p; sum[lid] = (sum[lid]+a[i]*(k-1)%p)%p; }
不难发现,第三行应该使用 a[i]a[i]a[i] 修改之前的值,将第二行和第三行调换,就过了。