Cod sursa(job #1499306)

Utilizator ZeBuGgErCasapu Andreas ZeBuGgEr Data 10 octombrie 2015 14:43:29
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;

long long int maxs,a[6000001];
int n;
int maxp;

int main()
{
    maxs=-2000000000;

    ifstream fin("ssm.in");
    ofstream fout("ssm.out");

    fin>>n;

    for(int i=1;i<=n;i++)
    {
        fin>>a[i];
    }

    for(int i=2;i<=n;i++)
    {
        if(a[i]+a[i-1]>0&&a[i-1]>0)
        {
            a[i]+=a[i-1];
        }
    }

    for(int i=1;i<=n;i++)
    {
        if(maxs<a[i])
        {
            maxp=i;
            maxs=a[i];
        }
    }

    a[0]=-1;
    fout<<maxs<<" ";
    for(int i=maxp-1;i>=0;i--)
    {
        if(a[i]<0)
        {
            fout<<i+1<<" "<<maxp;
            break;
        }
    }
}