#include #include #include #include #include #include #include #include #include #include #include #include #define vll vector #define vvvl vector #define vvl vector> #define VV(a, b, c, d) vector>(a, vector(b, c)) #define VVV(a, b, c, d) vector(a, vvl(b, vll (c, d))); #define re(c, b) for(ll c=0;c> n >> d; vvl dp = VV(n+1, 2, -INF, ll); dp[0][0] = 0; for(int i=0;i> x >> y; dp[i+1][0] = max(dp[i][0], dp[i][1] - d) + x;//tokyo dp[i+1][1] = max(dp[i][0]-d, dp[i][1]) + y; } std::cout << max(dp[n][0], dp[n][1]) << '\n'; }