Cod sursa(job #1997835)

Utilizator RaduPatraRadu Patra RaduPatra Data 5 iulie 2017 15:16:49
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
using namespace std;
ifstream in ("ssm.in");
ofstream out ("ssm.out");
int v[6000001],sp[6000001];
int main()
{
    int n,i,sum=0,poz1=1,poz2=1,mini=999999999,maxi=-999999999;

    in>>n;

    for (i=1; i<=n; i++)
        in>>v[i];

    for (i=1; i<=n; i++)
    {
        sum+=v[i];
        sp[i]=sum;
    }
    sum=0;
    for (i=1;i<=n;i++)
    {
        if (sp[i]>maxi){maxi=sp[i];
        poz2=i;}

        if (sp[i]<mini){mini=sp[i];
        poz1=i+1;}
    }

    for (i=poz1;i<=poz2;i++)
        sum+=v[i];

        if (poz1>poz2)poz1=poz2;
         if (poz1==poz2)
            sum=v[poz1];
    out<<sum<<" "<<poz1<<" "<<poz2;
    return 0;}