Cod sursa(job #2643029)

Utilizator Matei20050715Medar Matei-Tudor Matei20050715 Data 18 august 2020 14:34:51
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f ("ssm.in");
ofstream g ("ssm.out");
int ii,jj,i,k,j,n,a[6000001],m[6000001],p[6000001],minn=6000010,maxx=-6000010,s;
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>a[i];
    }
    for(i=1;i<=n;i++)
    {
        a[i]=a[i]+a[i-1];
    }
    int init_value;
    minn=a[1];
    ii=1;
    m[1]=minn;
    maxx=a[1];
    jj=1;
    k=1;
    for(i=2;i<=n;i++)
    {
        init_value=a[i];
        a[i]=a[i]-minn;
        if(maxx<a[i])
        {
            maxx=a[i];
            jj=i;
        }
        if(init_value<minn)
        {
            k++;
            minn=init_value;
            m[k]=minn;
            ii=i;
            p[k]=ii;
        }
    }
    for(i=k;i>=1;i--)
    {
        if(p[i]<jj) {ii=p[i];break;}
    }
    g<<maxx<<" "<<ii+1<<" "<<jj;
    return 0;
}