/* * POJ_2393.cpp * * Created on: 2013年11月18日 * Author: Administrator */ #include#include using namespace std; const int maxn = 10010; long long c[maxn],y[maxn]; int main(){ long long n,s; long long sum; while(scanf("%lld%lld",&n,&s)!=EOF){ int i; for(i = 0 ; i < n ; ++i){ scanf("%lld%lld",&c[i],&y[i]); } sum = c[0]*y[0]; for(i = 1 ; i < n ; ++i){//这道题只需要比较相邻两周的价格。。如果不是的话,应该用 DP来做 if(c[i-1] + s > c[i]){ sum += c[i]*y[i]; }else{ sum += (c[i-1] + s)*y[i]; } } printf("%lld\n",sum); } return 0; }