#include #include #include int INF = 987654321; using ll = long long; int n, d, t, k; int main() { std::cin >> n >> d; int kyoto_price[n+1]; int tokyo_price[n+1]; int tokyo_dp[n]; int kyoto_dp[n]; kyoto_price[n] = {}; tokyo_price[n] = {}; tokyo_dp[n] = {}; kyoto_dp[n] = {}; kyoto_dp[0] = -INF; for (int i = 1; i < n; i++) { std::cin >> t >> k; tokyo_price[i] = t; kyoto_price[i] = k; } for (int i = 1; i <= n; i++) { tokyo_dp[i] = std::max(tokyo_dp[i-1], kyoto_dp[i-1]-d) + tokyo_price[i]; kyoto_dp[i] = std::max(kyoto_dp[i-1], tokyo_dp[i-1]-d) + kyoto_price[i]; } std::cout << std::max(tokyo_dp[n], kyoto_dp[n]) << std::endl; }