80分TLE,求优化

P2119 [NOIP2016 普及组] 魔法阵

```cpp program Project1; var n,m,i,j,x,y:longint; s,f,fa,fb,fc,fd:array[0..40001]of longint; begin read(n,m); for i:=1 to m do begin read(s[i]); inc(f[s[i]]); end; for i:=1 to n div 9 do begin x:=9*i+1;y:=0; for j:=9*i+2 to n do begin y:=y+f[j-x]*f[j-x+2*i]; fd[j]:=fd[j]+y*f[j-i]; fc[j-i]:=fc[j-i]+y*f[j]; end; x:=8*i+1;y:=0; for j:=n-9*i-1 downto 1 do begin y:=y+f[j+x]*f[j+x+i]; fa[j]:=fa[j]+y*f[j+2*i]; fb[j+2*i]:=fb[j+2*i]+y*f[j]; end; end; for i:=1 to m do writeln(fa[s[i]],' ',fb[s[i]],' ',fc[s[i]],' ',fd[s[i]]); readln; readln; end. ```
by mjj1 @ 2016-12-04 12:40:32


|