zoukankan      html  css  js  c++  java
  • UVA 1619 Feel Good

    //#include<bits/stdc++.h>
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<algorithm>
    #define REP(i,a,b) for(int i=a;i<=b;i++)
    #define MS0(a) memset(a,0,sizeof(a))
    
    using namespace std;
    
    typedef long long ll;
    const int maxn=1000100;
    const int INF=1<<29;
    
    int n;
    ll a[maxn],s[maxn];
    int L[maxn],R[maxn];
    struct Node
    {
        int x,y;
        ll w;
    };Node ans;
    
    int main()
    {
        freopen("in.txt","r",stdin);
        while(cin>>n){
            REP(i,1,n) scanf("%lld",&a[i]);
            s[0]=0;REP(i,1,n) s[i]=s[i-1]+a[i];
            L[1]=1;
            REP(i,2,n){
                int j=i-1;
                while(j>=1&&a[i]<=a[j]) j=L[j]-1;
                L[i]=j+1;
            }
            R[n]=n;
            for(int i=n-1;i>=1;i--){
                int j=i+1;
                while(j<=n&&a[i]<=a[j]) j=R[j]+1;
                R[i]=j-1;
            }
            Node ans={1,1,-1};
            REP(i,1,n){
                ll t=(s[R[i]]-s[L[i]-1])*a[i];
                if(t>ans.w) ans=(Node){L[i],R[i],t};
            }
            //REP(i,1,n) cout<<L[i]<<" ";cout<<endl;
            //REP(i,1,n) cout<<R[i]<<" ";cout<<endl;
            printf("%lld
    ",ans.w);
            printf("%d %d
    ",ans.x,ans.y);
        }
        return 0;
    }
    View Code

    uva上无限坑爹。。。在poj上过了也算过了吧。。。

    没有AC不了的题,只有不努力的ACMER!
  • 相关阅读:
    FileDescriptor详解
    java序列化
    ObjectInputStream和ObejctOutputStream
    ByteArrayOutputStream
    ByteArrayInputStream
    PipedInputStream/PipedOutputStream
    字节输入流
    反义
    贪婪和非贪婪
    MYSQL数据库优化
  • 原文地址:https://www.cnblogs.com/--560/p/5059869.html
Copyright © 2011-2022 走看看