fork(1) download
  1. var n,k,i,j,jmax,vmax,lmax:integer;
  2. a,l,v:array[1..1000] of integer;
  3. begin
  4. readln(n,k);
  5. for i:=1 to n do
  6. begin
  7. read(a[i]);
  8. v[i]:=a[i];
  9. end;
  10.  
  11. fillchar(l,sizeof(l),0);
  12. l[1]:=1;
  13. l[n+1]:=1;
  14.  
  15. vmax:=0;
  16. for i:=1 to n do
  17. begin
  18. jmax:=n+1;
  19. for j:=i-1 downto 1 do
  20. begin
  21. if (l[i]<=l[j]) and (v[j] mod k=0) then jmax:=j;
  22. v[i]:=a[i]+v[jmax];
  23. l[i]:=l[jmax]+1;
  24. end;
  25. if vmax<v[i] then vmax:=v[i];
  26. end;
  27.  
  28. write(vmax);
  29. end.
Success #stdin #stdout 0s 4408KB
stdin
10 5
1 6 11 5 10 15 20 2 4 9
stdout
59