#!/usr/bin/env python3 INF: int = 2**62 def inputs(type_=int): ins = input().split(' ') ins = [x for x in ins if x != ''] return list(map(type_, ins)) def main(): ... n, d = inputs() n xs = [None] * n for i in range(n): xs[i] = inputs() xs = [[0, 0]] + xs n += 1 dp = [[0, 0] for _ in range(n)] dp[0][0] = 0 dp[0][1] = -INF for i in range(1, n): for s in range(2): dp[i][s] = max(dp[i-1][s] + xs[i][s], dp[i-1][1-s] + xs[i][s] - d) # from pprint import pprint # pprint(dp) print(max(dp[-1])) if __name__ == '__main__': main()