话说正解是单调栈优化DP,然而貌似根据某种玄学的推算,这个题暴力出解貌似也是可以的。首先,我们枚举所有的点作为最小点,然后横向展开,遇到更小的就停止。。。然后再操作一下,看上去时间O(N^2),然而由于数据的随机生成性,差不多能做到O(NlogN)出解,然而由于数据的过于随机性,这么做比正解还要快。。。但是如果数据整齐的话应该怎么办呢,比如都是同一个数的情况。。

这时我们可以先排序,从最大的开始搜起,然后如果有进行最优性剪枝,复杂度貌似可以保证在O(NlogN^2)左右。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define re register
#define wc 0.0000000001
using namespace std;
struct point
{
int v,id;
};
point a[];
long long n,d[],ans,maxx,lt,sum;
inline bool cmp(point x,point y)
{
return x.v>y.v;
}
int main()
{
cin>>n;
for(re int i=;i<=n;i++)
{
cin>>d[i];
a[i].v=d[i];
a[i].id=i;
sum+=d[i];
}
sort(a+,a+n+,cmp);
for(re int i=;i<=n;i++)
{
if(a[i].v*sum<=ans)
continue;
int l=a[i].id,r=a[i].id;
long long cnt=a[i].v;
while(d[l-]>=a[i].v)
{
cnt+=d[l];
l--;
}
while(d[r+]>=a[i].v)
{
cnt+=d[r];
r++;
}
maxx=a[i].v*cnt;
ans=max(maxx,ans);
}
cout<<ans;
}

最新文章

  1. xamarin UWP自定义圆角按钮
  2. 微博开放平台api使用
  3. 24SQL
  4. Robotium查找指定控件
  5. 连接sql server的语句
  6. IOS编程User Interface基础
  7. Struts2学习笔记之s:select标签
  8. Linux下使用Mysql
  9. Ansible系列(七):执行过程分析、异步模式和速度优化
  10. UrlRewriter配置IIS支持伪静态
  11. Array对象的方法详情
  12. c# 运算符:? ,??
  13. cpu iowait高排查的case
  14. visual c++如何显示行号
  15. CAN总线相关的几个gitlab代码
  16. Ansible--原理
  17. Problems you may meet
  18. django 配置中STATICFILES_DIRS 和STATIC_ROOT不能同时出现
  19. input不记录之前输入的值
  20. NFS服务端+客户端配置

热门文章

  1. js 的函数参数的默认值问题
  2. FFF at Valentine(强连通分量缩点+拓扑排序)
  3. EasyNVR智能云终端硬件与EasyNVR解决方案软件综合对比
  4. SQL Server 2008 收缩日志 清空删除大日志文件
  5. DumpBinary
  6. 数字雨(Javascript使用canvas绘制Matrix,效果很赞哦)
  7. 关于在python manage.py createsuperuser时报django.db.utils.OperationalError: no such table: auth_user的解决办法
  8. Js中localStorage
  9. MySql存储过程、函数
  10. hive批量执行sql命令及使用小技巧