#include<stdio.h>
#include<string.h>
#include<math.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
const int MAXN=1e4+15;
#define ll long long
using namespace std;
ll f[MAXN];
int sum[MAXN],sumtimee[MAXN];
int num[MAXN];
int n,m;
int s;
int tail,head,que[MAXN]; int i;
int main(){
scanf("%d%d",&n,&s);
for(i=1;i<=n;i++)
{
scanf("%d%d",&sumtimee[i],&num[i]);
sum[i]=sum[i-1]+num[i];sumtimee[i]=sumtimee[i-1]+sumtimee[i];
}
head=tail=1;
que[tail++]=0;
for(i=1;i<=n;i++)
{
while(head+1<tail&&(f[que[head+1]]-f[que[head]])<=(s+sumtimee[i])*(sum[que[head+1]]-sum[que[head]]))
head++;
int k=que[head];
f[i]=f[k]-(s+sumtimee[i])*sum[k]+sumtimee[i]*sum[i]+s*sum[n]; while(head+1<tail&&(f[i]-f[que[tail-1]])*(num[que[tail-1]]-num[que[tail-2]])<=(num[i]-num[que[tail-1]])*(f[que[tail-1]]-f[que[tail-2]]))
tail--;
que[tail++]=i;
}
printf("%lld",f[n]);
return 0;
}

  

SFSA的更多相关文章

  1. 一篇SSM框架整合友好的文章(二)

    上一篇讲述了DAO 层,mybatis实现数据库的连接,DAO层接口设计,以及mybtis和spring的整合.DAO层采用接口设计方式实现,接口和SQL实现的分离,方便维护.DAO层所负责的仅仅是接 ...

  2. springboot基于注解动态配置多数据源以及多数据源的事务统一

    参考文档:https://www.cnblogs.com/zhangboyu/p/7622412.html https://blog.csdn.net/qq_34322777/article/deta ...

随机推荐

  1. 【LInux01】学习Linux课程体系

    知识 =>技能   需要大量的练习  相当于复盘 要有成就感 在一个领域深挖,再迁移到其他领域 1.两周以后的知识留存率: 主动学习: 动手实践:40% 讲给别人听:70% 写博客:是写教程,便 ...

  2. MongoDB,使用C#实现2d地理位置检索

    这两天在研究mongoDB,从零开始接触它,为什么要研究它呢,因为它支持2d地图索引,而且速度非常快,可以用它来做类似微信的(摇一摇功能),不过网上很难搜到.net操作的,而且就算搜索到了也不能用,也 ...

  3. Redis 数据总结(1 数据导入)

    理论基础部分:http://www.redis.cn/topics/mass-insert.html 几百上千万的数据建议使用pipe来完成导入. 1.windows 下数据导入命令: type ou ...

  4. linux 安装 setuptools

    wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar ...

  5. js封装删除数组指定的某个元素的方法

    首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) { for (var i = ...

  6. python3练习100题——036

    原题链接:http://www.runoob.com/python/python-exercise-example36.html 题目:求100之内的素数. 之前有类似的题,所以这次遇到觉得很容易了, ...

  7. numpy 生成数组

    可以看这个博客 https://www.cnblogs.com/td15980891505/p/6082858.html import numpy as np 建立数组并初始化数组 np.zeros( ...

  8. IDEA配置tomcat日志乱码

    第一步(tomcat7/8) tomcat:找到tomcat文件夹下的conf文件夹,去修改里面的logging.properties文件 两种修改方式(第一种方法不行再用第二种): 将文件中的5个U ...

  9. jQuery-File-Upload 使用,jQuery-File-Upload上传插件

    ================================ ©Copyright 蕃薯耀 2020-01-10 https://www.cnblogs.com/fanshuyao/ 一.官网地址 ...

  10. C语言strcat()函数:字符串连接(拼接)

    C语言strcat()函数:字符串连接(拼接)   C语言 strcat() 函数用来将两个字符串连接(拼接)起来. 头文件:string.h 语法/原型: char*strcat(char* str ...