Cod sursa(job #2967768)

Utilizator tedicTheodor Ciobanu tedic Data 20 ianuarie 2023 02:03:37
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <fstream>

using namespace std;
long long int v[6000005];
int main()
{
    ifstream cin("ssm.in");
    ofstream cout("ssm.out");
    long long int n,a,maxx=-2100000000,minn=2100000000,b=1,m=-2100000000,x=1,y=1;
    cin>>n;
    for(int i=1; i<=n; i++)
    {
        cin>>a, v[i]=v[i-1]+a;
        if(a>m)
            m=a,x=y=i;
    }
    a=1;
    for(int i=0; i<=n; i++)
    {
        if(v[i]<minn)
        {
            minn=v[i];
            b=i+1;
            maxx=-2100000000;
            a=0;
        }
        if(v[i]>maxx)
        {
            maxx=v[i];
            a=i;
        }
        if(maxx-minn>m && a>=b)
        {
            m=maxx-minn;
            x=a, y=b;
        }
        ///cout<<minn<<" "<<maxx<<" "<<y<<" "<<x<<m<<'\n';
    }
    cout<<m<<" "<<y<<" "<<x;
    return 0;
}