CodeFroces-- Feel Good

题目大意:给出一段无序数组找出任意 一段区间和*这段区间的最小值 使这个值最大
栈的经典问题
用栈预处理出当前ai 为这块区间最小值的时候 的区间范围(L 和R)
#include<bits/stdc++.h>
using namespace std;
#define maxn 100015
#define LL long long
LL  ll[maxn],rr[maxn];
stack<LL >s,t;
LL  sum[maxn];
LL  a[maxn];
int main(){
  //freopen("feelgood.in","r",stdin);
  //freopen("feelgood.out","w",stdout);
  LL  n;
  cin>>n;
  memset(sum,,sizeof(sum));
  ;j<=n;j++){
     cin>>a[j];
     sum[j]=a[j]+sum[j-];
  }
  ;j<=n;j++){
     while(s.size()&&a[j]<=a[s.top()]){
        s.pop();
     }
     ;
     ;
     s.push(j);
  }
  ;j--){
     while(t.size()&&a[j]<=a[t.top()]){
        t.pop();
     }
     if(!t.size()) rr[j]=n;
     ;
     t.push(j);
     //cout<<rr[j]<<endl;
  }
  LL mx=-,l,r;
  ;j<=n;j++){
     LL ans=1LL*a[j]*(sum[rr[j]]-sum[ll[j]-]);
     if(ans>mx){
        mx=ans;
        l=ll[j];
        r=rr[j];
     }
  }
  cout<<mx<<endl;
  cout<<l<<" "<<r<<endl;
}
CodeFroces-- Feel Good的更多相关文章
- Codefroces 1328E Tree Querie(dfs序)
		Codefroces 1328E Tree Querie 题目 给出一棵1为根,n个节点的树,每次询问\(k_i\) 个节点,问是否存在这样一条路径: 从根出发,且每个节点在这条路径上或者距离路径的距 ... 
- Codefroces 750D:New Year and Fireworks(BFS)
		http://codeforces.com/contest/750/problem/D 题意:烟花会绽放n次,每次会向前推进t[i]格,每次绽放会向左右45°绽放,问有烟花的格子数. 思路:n = 3 ... 
- Codefroces 750C:New Year and Rating(思维)
		http://codeforces.com/contest/750/problem/C 题意:有n场比赛,每场比赛有一个c,代表比赛结束后分数的增长情况,有一个d,代表这场比赛在div1或者div2打 ... 
- codefroces 589A
		time limit per testsecondsmemory limit per testmegabytesinputstandard inputoutputstandard outputPoly ... 
- Codefroces Gym 100781A(树上最长路径)
		http://codeforces.com/gym/100781/attachments 题意:有N个点,M条边,问对两两之间的树添加一条边之后,让整棵大树最远的点对之间的距离最近,问这个最近距离是多 ... 
- codefroces 911G Mass Change Queries
		题意翻译 给出一个数列,有q个操作,每种操作是把区间[l,r]中等于x的数改成y.输出q步操作完的数列. 输入输出格式 输入格式: The first line contains one intege ... 
- codefroces 297E Mystic Carvings
		problem:一个圆上依次有1~2*n的数字.每个数字都有且只有另一个数字与他相连.选出三条线,使得每条线的两端之间隔的最少点(只包括被选择的6个点)的个数相等.输入输出格式输入格式: The fi ... 
- Codefroces 850C Arpa and a game with Mojtaba
		Description两个人Van♂游戏.给出$n$个正整数$ai$两人轮流操作,每次选出一个素数$p$和一个幂数$k$,选择的前提为该$n$个数中有$p^{k}$的倍数.接着将所有的$p^{k}$的 ... 
- codefroces 946G Almost Increasing Array
		Description给你一个长度为$n$的序列$A$.现在准许你删除任意一个数,删除之后需要修改最小的次数使序列单调递增.问最小次数.$1≤n≤200000$ExamplesInput55 4 3 ... 
- codefroces 946F Fibonacci String Subsequences
		Description定义$F(x)$为$F(x−1)$与$F(x−2)$的连接(其中$F(0)="0"$,$F(1)="1"$)给出一个长度为$n$的$01$ ... 
随机推荐
- vue组件封装选项卡
			<template> <myMenu :arr='arr' :arrcontent='content'></myMenu> </template> &l ... 
- 字符串和ASCII之间的转换
			public class CharToAscii { public static void main(String[] args) { CharToAscii.AscToString(); CharT ... 
- hive权限配置
			基于CDH5.x的Hive权限配置 1.打开权限控制,默认是没有限制的 set hive.security.authorization.enabled=true; 2.配置默认权限 hive.secu ... 
- java中级——集合框架【3】-HashSet
			HashSet package cn.jse.hashset; import java.util.HashSet; public class TestCollection { public stati ... 
- tensorflow实现基于LSTM的文本分类方法
			tensorflow实现基于LSTM的文本分类方法 作者:u010223750 引言 学习一段时间的tensor flow之后,想找个项目试试手,然后想起了之前在看Theano教程中的一个文本分类的实 ... 
- 通过view实现rest api接口
			Django rest framwork之view 基于Django的View实现Json数据的返回: # _*_ encoding:utf-8 _*_ __author__ = 'LYQ' __da ... 
- 无法将从VSS中的解决方案添加到TFS的源代码管理器中
			VSS是一种非常有用的项目文件管理工具,百度百科的解释是:VSS 的全称为 Visual Source Safe .作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责 ... 
- JavaScript控制阻止表单提交
			1.在表单上使用onSubmit方法 <?php $form = ActiveForm::begin([ 'options'=>[ 'class' => 'form-horizont ... 
- SpringBoot之文件下载
			package org.springboot.controller; import org.springboot.constant.Constant; import org.springframewo ... 
- source 和 .
			Linux Source命令及脚本的执行方式解析 当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用source命令,如:source /etc/profile 对 ... 
