#!/usr/bin/env perl use strict; use warnings; my ($n, $d) = split / /, <>; chomp $d; my @dp; $dp[0][0] = 0; $dp[0][1] = -999999999999999999; for my $i (1..110) { for my $j (0..1) { $dp[$i][$j] = -1; } } for (my $i = 0; $i < $n; $i++) { my ($t, $k) = split / /, <>; chomp $k; my ($x, $y) = ($dp[$i][0] + $t, $dp[$i][1] + $t - $d); $dp[$i + 1][0] = $x if $x >= $y; $dp[$i + 1][0] = $y if $x < $y; my ($z, $w) = ($dp[$i][1] + $k, $dp[$i][0] + $k - $d); $dp[$i + 1][1] = $z if $z >= $w; $dp[$i + 1][1] = $w if $z < $w; } if ($dp[$n][0] >= $dp[$n][1]) { print $dp[$n][0]; } else { print $dp[$n][1]; }