【链接】:CF987C

【分析】:先求出每个s【i】后面比s【i】大的c【i】的最小值,然后枚举前两个数c(i),c(j)以及 j 后面递增且存在最小值的dp(j)

【代码】:

#include<bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
#define ms(a,b) memset(a,b,sizeof(a))
#define rep(i,a,b) for(int i=(a); i<=(b); i++)
//#define run(i,a,b) for(int i=(a); i<=(b); i++)
int n;
int s[3005];
int c[3005];
int dp[3005]; //dp【i】表示s【i】后面比s【i】大的对应c【i】的最小值
int main()
{
ms(dp,INF);
cin>>n;
int ans=INF;
rep(i,1,n)
cin>>s[i];
rep(i,1,n)
cin>>c[i];
rep(i,1,n)
{
rep(j,i+1,n)
{
if(s[j]>s[i])
dp[i]=min(dp[i],c[j]);
}
}
rep(i,1,n)
{
rep(j,i+1,n)
{
if(s[j]>s[i] && dp[i]!=INF)
{
ans = min(ans, c[i]+c[j]+dp[j]);
}
}
}
if(ans==INF) puts("-1");
else cout<<ans<<endl;
}

最新文章

  1. 解析大型.NET ERP系统 业务逻辑设计与实现
  2. 常用的js方法,包括表单校验的一些方法
  3. Sqlsever
  4. 反射中 GetCustomAttributes
  5. Java性能优化权威指南-读书笔记(二)-JVM性能调优-概述
  6. Runtime.getRuntime().exec中命令含有括号问题
  7. $(window).height() 文档高度问题
  8. http://codeforces.com/contest/828
  9. Flipper
  10. MySQL高可用架构之MHA 原理与实践
  11. bash的工作特性及其使用方法
  12. ToolbarDemo【Toolbar作为顶部导航栏的简单使用】
  13. arcgis api 3.x for js 入门开发系列三地图工具栏(附源码下载)
  14. xen 基础命令学习
  15. 获取HttpServletRequest请求Body中的内容
  16. 时间序列分析工具箱——sweep
  17. InnoDB存储引擎介绍-(2)redo和undo学习
  18. linux命令学习之:df
  19. PHP/Laravel轻松上传超大文件
  20. maven加载第三方jar包

热门文章

  1. USACO Section1.3 Mixing Milk 解题报告
  2. selenium初识(二)——之webdriver API
  3. An internal error occurred during: &quot;Launching on Tomcat 7.x&quot;
  4. [译]10-Spring BeanPostProcessor
  5. 关于MySQL查询优化 の 30条忠告
  6. Python全栈工程师(Linux基本操作)
  7. ironic如何支持部署时按需RAID?
  8. Java中常用的正则表达式判断,如IP地址、电话号码、邮箱等
  9. POJ A-Wireless Network
  10. c# 对XML 解析 和 序列化