integer::N,D,i,j=0,place=1,mx,M(4) integer,allocatable,dimension(:)::T,K integer,allocatable,dimension(:,:)::sum read *,N,D allocate(T(N+1),K(N+1),sum(2,N+1)) do i=2,N+1 read *,T(i),K(i) end do sum(1,1)=0 sum(2,1)=-D do i=1,N sum(1,i+1)=max(sum(1,i),sum(2,i)-D)+T(i+1) sum(2,i+1)=max(sum(2,i),sum(1,i)-D)+K(i+1) end do print *,max(sum(1,N+1),sum(2,N+1)) end