SFSA
#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的更多相关文章
- 一篇SSM框架整合友好的文章(二)
上一篇讲述了DAO 层,mybatis实现数据库的连接,DAO层接口设计,以及mybtis和spring的整合.DAO层采用接口设计方式实现,接口和SQL实现的分离,方便维护.DAO层所负责的仅仅是接 ...
- springboot基于注解动态配置多数据源以及多数据源的事务统一
参考文档:https://www.cnblogs.com/zhangboyu/p/7622412.html https://blog.csdn.net/qq_34322777/article/deta ...
随机推荐
- Python三元表达式、列表推导式、生成器表达式
1. 三元表达式 name=input('姓名>>: ') res='SB' if name == 'aaaa' else 'NB' print(res) 2. 列表推导式 #1.示例 e ...
- PAT (Basic Level) Practice (中文)1021 个位数统计 (15 分)
给定一个 k 位整数 1 (0, ,, dk−1>0),请编写程序统计每种不同的个位数字出现的次数.例如:给定 0,则有 2 个 0,3 个 1,和 1 个 3. 输入格式: 每个输入包含 ...
- window - 安装 tomcat
一.下载安装包 参考网址:https://archive.apache.org/dist/tomcat 百度网盘:https://pan.baidu.com/s/1mtNuTUCFp-_SIHIp_R ...
- Docker最全教程——从理论到实战(二十一)
前言 MySQL是目前最流行的开源的关系型数据库,MySQL的容器化之前有朋友投稿并且写过此块,本篇仅从笔者角度进行总结和编写. 目录 镜像说明 运行MySQL容器镜像 1.运行MySQL容器 ...
- Fiddler抓取https方法
基本配置 菜单 -> menu -> tool -> https 勾选"捕获https连接" 勾选"捕获https流量" 勾选"检查 ...
- Mysql快速入门(三)
MySQL性能优化之查看执行计划explain 介绍: (1).MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发 ...
- window.location.herf传值问题
各个值之间用&&&&&&连接 新版本的tomcat不支持其他字符,需要通过encodeURIComponent编码 变量名数字后不能直接加字母 such ...
- [TJOI2013] 拯救小矮人- 贪心,dp
结论:矮的人比高的人先走一定不会使得答案变劣 于是我们排序后,像 0-1 背包那样依次考虑每个人走不走 #include <bits/stdc++.h> using namespace s ...
- VMware vSphere Client
复制虚拟机 在虚拟机关机状态下,选中一个虚拟机,文件 - 导出 - 导出OVF模板,导出成功后,再文件 - 部署OVF模板(修改IP.MAC.主机名称)
- python使用selenium驱动chromium防止浏览器自动升级失效!
python爬虫或者自动化项目中有时会用到selenium自动化测试框架,驱动chrom时由于谷歌浏览器自动升级,会造成驱动和浏览器版本不匹配问题,这时可以用到Chromium,这是谷歌推出用于开发目 ...