点击打开链接
//
// main.cpp
// test
//
// Created by 吴有堃 on 2017/9/11.
// Copyright © 2017年 吴有堃. All rights reserved.
//
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <cstring>
#include <string.h>
#include <math.h>
#include <algorithm>
#include <queue>
#define LL long long
using namespace std;
const int maxn=1e4+5;
LL sum=0;
int N=0,S=0,C_i[maxn],Y_i[maxn];
int main()
{
int i=0;
scanf("%d %d",&N,&S);
for(i=0;i<N;i++){
scanf("%d %d",&C_i[i],&Y_i[i]);
}
sum=0;
for(i=0;i<N;i++){
sum+=C_i[i]*Y_i[i];
C_i[i+1]=min(C_i[i+1],C_i[i]+S);//最核心的,只需更新下一周就好,有下一周最优的就可以更新之后下下周
}
printf("%lld\n",sum);
return 0;
}