zoukankan      html  css  js  c++  java
  • 洛谷 P2422 良好的感觉

    P2422 良好的感觉

    题目描述

    kkk做了一个人体感觉分析器。每一天,人都有一个感受值Ai,Ai越大,表示人感觉越舒适。在一段时间[i, j]内,人的舒适程度定义为[i, j]中最不舒服的那一天的感受值 * [i, j]中每一天感受值的和。现在给出kkk在连续N天中的感受值,请问,在哪一段时间,kkk感觉最舒适?

    输入输出格式

    输入格式:

    第一行为N,代表数据记录的天数

    第二行N个整数,代表每一天的感受值

    输出格式:

    一行,表示在最舒适的一段时间中的感受值。

    输入输出样例

    输入样例#1:
    6
    3 1 6 4 5 2
    输出样例#1:
    60

    说明

    样例解释:

    kkk最开心的一段时间是第3天到第5天,开心值:(6+4+5)*4=60

    对于30%的数据,1<=N<=100

    对于70%的数据,1<=N<=2000

    对于100%的数据,1<=N<=100000,1<=感受值<=1000000

    枚举每个点向两边扫,扫比他大的,加起来,扫完之后,这个点就是这段区间中最小的

    #include<bits/stdc++.h>
    #define ll long long
    #define inf 1<<30
    #define maxn 10000000
    using namespace std;
    int n,a[maxn];
    ll f[maxn];
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            scanf("%d",&a[i]);
        ll ans=0;
        for(int i=1;i<=n;i++)
        {
            f[i]=a[i];
            for(int j=i-1;j>=1;j--)
            {
                if(a[j]>=a[i])    f[i]+=a[j];
                else break;
            }
            for(int j=i+1;j<=n;j++)
            {
                if(a[j]>=a[i])    f[i]+=a[j];
                else break;
            }
            f[i]=f[i]*a[i];
            ans=max(ans,f[i]);
        }
        printf("%lld",ans);
        return 0;
    }
  • 相关阅读:
    uwsgi配置
    sed_shell三剑客
    grep_shell三剑客
    awk_shell三剑客
    spring(二)
    spring(一)
    5G的科普
    应用层协议基础
    IP地址相关运算(如VLSM,超网汇总)
    ARP协议基础
  • 原文地址:https://www.cnblogs.com/chen74123/p/7464364.html
Copyright © 2011-2022 走看看