//写动态规划的题目 要把主要问题提炼出来 这里的问题就是求area=(j-k+1)*a[i]  如果找到j k是解决这个题目的关键 这里暴力求肯定是要超时的 这里用dp来优化

#include<stdio.h>
#include<string.h>
__int64 a[100005],dp[100005],l[100005],r[100005];
int main()
{
__int64 n,i,t,max;
while(scanf("%I64d",&n)!=EOF&&n)
{
max=-1;
for(i=1;i<=n;i++)
scanf("%I64d",&a[i]);
l[1]=1;r[n]=n;
for(i=2;i<=n;i++)//求每个点左边连续比它大的最左边的下标,保存在l[]数组里
{
t=i;
while(t>1&&a[i]<=a[t-1])
t=l[t-1];
l[i]=t;
}
for(i=n-1;i>=1;i--)//求每个点右边连续比它大的最右边的下标,保存在r[]数组里
{
t=i;
while(t<n&&a[i]<=a[t+1])
t=r[t+1];
r[i]=t;
}
for(i=1;i<=n;i++)
if((r[i]-l[i]+1)*a[i]>max)
max=(r[i]-l[i]+1)*a[i];
printf("%I64d\n",max);
}
return 0;
}

最新文章

  1. Linux SHELL 命令入门题目答案(一)
  2. IBatis.Net使用总结(三)-- IBatis实现分页返回数据和总数
  3. 我所了解的WEB开发(4) - 神奇的URL
  4. Java模拟登陆新浪微博抓取数据【转载】
  5. 查看本机IP地址及子网掩码(netmask)
  6. 【HDOJ】2157 How many ways??
  7. UCOS 信号量
  8. C# 操作 AppSettings节点
  9. Android Monkey压力测试介绍
  10. Nagios状态长时间处于Pending的解决方法
  11. [HNOI2004]树的计数
  12. iOS 隐藏导航条分割线
  13. c#简单的数据库查询与绑定DataGridView。
  14. element-ui 的el-button组件中添加自定义颜色和图标
  15. 【已解决】ERR_BLOCKED_BY_XSS_AUDITOR:Chrome 在此网页上检测到了异常代码:解决办法
  16. WinSockets编程(六)select模式
  17. JAVA特性-跨平台/面向对象
  18. UC 优视发布“UC+”开放平台
  19. C#和JAVA 访问修饰符
  20. Chrome 声音自动播放抱错问题【play() failed】

热门文章

  1. wan口的ip是干什么用的
  2. [ML] Roadmap: a long way to go
  3. Spring事务管理3----声明式事务管理(1)
  4. JAVA 基础编程练习题46 【程序 46 字符串连接】
  5. JAVA 基础编程练习题21 【程序 21 求阶乘】
  6. 生命周期和Zend引擎
  7. keytool命令的使用
  8. Android之View的内容
  9. golang web框架设计4:日志设计
  10. QFramework 使用指南 2020 (四):脚本生成(2)ViewController 与 ViewController 嵌套绑定