#include #include using namespace std; const int N=10010; int q[N],t[N],f[N],dp[N],sumt[N],sumf[N]; int n,s; int GetY(int k1,int k2){ return dp[k2]-dp[k1]; } int GetX(int k1,int k2){ return sumt[k2]-sumt[k1]; } int GetVal(int i,int j){ return dp[j]+(s+sumt[i]-sumt[j])*sumf[i]; } int main() { while(~scanf("%d",&n)){ scanf("%d",&s); for(int i=1;i<=n;i++) scanf("%d%d",&t[i],&f[i]); sumt[n+1]=sumt[n+1]=0; for(int i=n;i>=1;i--){ sumt[i]=sumt[i+1]+t[i]; sumf[i]=sumf[i+1]+f[i]; } int head=0,tail=0; q[tail++]=n+1; dp[n+1]=0; for(int i=n;i>=1;i--) { while(head+1