Cod sursa(job #678436)

Utilizator hiticas_abelhiticasabel hiticas_abel Data 11 februarie 2012 17:58:20
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<algorithm>
#include<fstream>
#include<iostream>
using namespace std;
long n,a[6000011];
int main()
{
ifstream f("ssm.in");
ofstream g ("ssm.out");
int i;

f>>n;
for(i=1;i<=n;i++)
f>>a[i];
   
    long suma=-int(2e9),inceput,sfarsit,poz,max=-int(2e9);
    for(i=1;i<=n;i++)
    {                if(suma>=0)
                        suma+=a[i];
                     else
                     {
                       suma=a[i];
                        poz=i;
                     }
                     if(suma>max)
                      { max=suma;
                       inceput=poz;
                       sfarsit=i;
                       }
}
g<<max<<" "<<inceput<<" "<<sfarsit;

f.close();
g.close();
return 0;

}