#define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
long long a[300007],b[300007];
long long dp[300007][5];
long long ans;
int main(){
ios::sync_with_stdio(false);//多组数据输入cin,cout容易超时
cin.tie(NULL);
cout.tie(NULL);
int q;
cin>>q;
while(q--){
int n;
ans=2e18;
cin>>n;
dp[1][0]=0;//第二维表示第一维增加的高度,0即不增加,花费也是0
dp[1][1]=b[1];//增加1高度花费为b[1]
dp[1][2]=2e18;//第一个点最多只需要增加1高度就可以与a[2]不同,所以花费初始化为最大值
for(int i=2;i<=n;++i){//初始化
dp[i][0]=2e18;
dp[i][1]=2e18;
dp[i][2]=2e18;
}
for(int i=1;i<=n;++i)
cin>>a[i]>>b[i];
for(int i=2;i<=n;++i){
for(int j=0;j<3;++j){
for(int k=0;k<3;++k){
if(k+a[i]!=a[i-1]+j){//如果当前a[i]增加k以后的高度和上一位置a[i-1]增加j以后的高度不同,则满足题意
dp[i][k]=min(dp[i-1][j]+b[i]*k,dp[i][k]);//更新位置i增加高度k所需要的最小花费
}
}
}
}
for(int i=0;i<3;++i){
ans=min(dp[n][i],ans);
}
cout<<ans<<"\n";
}
return 0;
}

最新文章

  1. OGG for DB2 z/OS 12.2版本发布
  2. JSON字符串和对象之间的转换
  3. JS的构造及其事件注意点总结
  4. Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面
  5. 【分享】IT产业中的三大定理(二) —— 安迪&amp;比尔定理 (Andy and Bill&#39;s Law)
  6. 在 Mac OS X 中建立加密的 Zip 压缩 -- 让机密资料加上密码
  7. __name__属性
  8. 推荐几个JSON工具
  9. loadrunner:参数类型及其取值机制
  10. Ubuntu 11.10 Server下搭建Maven私服
  11. MySQL常用数值函数
  12. Qt测算程序运行时间
  13. 33.MySQL高可用架构
  14. Java设计模式学习记录-中介者模式
  15. C - Portals Gym - 102006C (网络流最小割)
  16. cacti系列(三)之cacti添加对mysql服务器主从的监控
  17. php协程
  18. Python中的 // 与 / 的区别
  19. 安装lr时无法将值Disable Script Debugger 写入注册表
  20. php可选缓存APC

热门文章

  1. 在ios微信客户端遇到的坑,input等错位
  2. php相关问题学习(以备面试)
  3. Abaqus脚本接口及简单应用
  4. python manage.py shell
  5. Move-to-front(MTF) and Run-lenght encoding(RLE) algorithms
  6. VS2017控制台应用中通过代码连接MySQL数据库
  7. Git - 常用命令, cheatsheet
  8. Fluent_Python_Part2数据结构,02-array-seq,序列类型
  9. Linux :ls 命令
  10. ubuntu apache 通过端口新建多个站点