Cod sursa(job #2691326)

Utilizator PrizlopanIustinPrizlopan Iustin George PrizlopanIustin Data 28 decembrie 2020 12:11:25
Problema Subsecventa de suma maxima Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
using namespace std;
int n,v[6000005],i,j,d[6000005],a,ok,maxi,nr=1,cap,aux[6000005];
int main()
{
    ifstream in("ssm.in");
    ofstream out("ssm.out");
    in>>n;
    for(i=1; i<=n; i++)
    {
        in>>v[i];
    }
    d[1]=v[1];
    aux[1]=1;
    maxi=d[1];
    //cout<<nr<<' ';
    for(i=2; i<=n; i++)
    {
        //cout<<nr<<' ';
        if(d[i-1]<=0)
        {
            d[i]=v[i];
            aux[i]=1;
        }
        else
        {
            aux[i]=aux[i-1]+1;
            d[i]=d[i-1]+v[i];
            if(maxi<d[i])
            {
                maxi=d[i];
                cap=i;
                ok=nr;
            }
        }
    }
    out<<maxi<<' '<<cap-aux[cap]+1<<' '<<cap;



    return 0;
}