Cod sursa(job #1773074)

Utilizator toadehuPuscasu Razvan Stefan toadehu Data 7 octombrie 2016 15:14:29
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <iostream>

using namespace std;

int v1[6000010],v2[6000010],a,b,a2;

int main()
{
    ifstream fin ("ssm.in");
    ofstream fout ("ssm.out");
    int n,mare=0;
    fin>>n;
    for (int i=1;i<=n;++i)
    {
        fin>>v1[i];
        v2[i]=v2[i-1];
        if (v2[i]+v1[i]<0)
        {
            a=i+1;
            v2[i]=0;
        }
        else
        {
            v2[i]+=v1[i];
        }
        if (mare<v2[i])
        {
            b=i;
            mare=v2[i];
            //cout<<v2[i]<<"\n";
            a2=a;
        }
    }
    fout<<mare;
    fout<<" "<<a2<<" "<<b;
}