uva 1619 单调 求一段序列和 和 其中最小值的乘积的最大值
来源:互联网 发布:淘宝专业模板宝贝装修 编辑:程序博客网 时间:2024/06/03 23:41
#include<cstdio>#include<cstring>#define INF 0x3f3f3f3fusing namespace std;int d[100010],l[100010],r[100010];long long sum[100010];int main(){int n,t=0;while(scanf("%d",&n)==1){memset(sum,0,sizeof(sum));for(int i=1;i<=n;i++){scanf("%d",&d[i]);sum[i]=sum[i-1]+d[i];l[i]=r[i]=i;}d[0]=d[n+1]=-1000000000;for(int i=1;i<=n;i++)while(d[l[i]-1] >= d[i]) l[i]=l[l[i]-1];for(int i=n;i>=1;i--)while(d[r[i]+1] >= d[i]) r[i]=r[r[i]+1];int resl=1,resr=1;long long res=0;for(int i=1;i<=n;i++){long long t=d[i]*(sum[r[i]]-sum[l[i]-1]);if(t>res){res=t;resl=l[i];resr=r[i];}} if(t)printf("\n");t++;printf("%lld\n%d %d\n",res,resl,resr);}}
阅读全文
0 0
- uva 1619 单调 求一段序列和 和 其中最小值的乘积的最大值
- 数,各位上的数最大值和最小值的乘积
- 查找一个序列的最大值和最小值
- 求数组的最大值和最小值
- 求四个数的最大值和最小值
- 求数组的最大值和最小值
- 求n个数的最大值和最小值
- 求数组的最大值和最小值
- 求数组的最大值和最小值
- 求数组里面的最大值和最小值
- 求一组随机数的最大值和最小值
- 求一组随机数的最大值和最小值
- 输入4个整数,输出其中的最大值和最小值
- 求最大值和最小值
- 求最大值和最小值
- 求最大值和最小值
- java如何求二维数组的和、最大值和最小值。
- 求一组数组的最小值和最大值/求数组的最小值和次小值
- Java MVC模式与三层架构比较
- ConCurrent包下工具类-CountDownLatch
- 在IDEA中实战Git
- python.matplotlib/datatime/CSV学习范例-读取CSV格式文件生成折线图
- css伪类选择器的使用
- uva 1619 单调 求一段序列和 和 其中最小值的乘积的最大值
- 第一篇博文
- 指数分布族常见类型
- MD5加密 java实现
- iOS开发之Xcode优化,清理Xcode编译缓存,清除provisioning profile 证书,添加provisioning profile证书
- Django--缓存与序列化
- 数据结构:线性表之静态链表
- SVN客户端的下载安装
- Latex 参考文献