Cod sursa(job #881031)

Utilizator oprea1si2si3Oprea Sebastian oprea1si2si3 Data 17 februarie 2013 17:21:48
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n,v[6000010],i,j,s=-1,smax,start,startfa,sfarsit;
int main()
{
    in>>n;
    for(i=1;i<=n;i++)
        in>>v[i];

    for(i=1;i<=n;i++)
        {
        if(s<-1)
            {
                s=v[i];
                start=i;
            if(s>smax)
                {
                    startfa=start;
                    sfarsit=i;
                    smax=s;
                }
            }
        else
            {
                s=s+v[i];
            if(s>smax)
                {
                    startfa=start;
                    sfarsit=i;
                    smax=s;
                }
            }
        }

    out<<smax<<" "<<startfa<<" "<<sfarsit<<'\n';
    in.close();
    out.close();
    return 0;
}