Cod sursa(job #1515704)

Utilizator DanBrezeanuBrezeanu Dan DanBrezeanu Data 2 noiembrie 2015 08:39:21
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <fstream>
using namespace std;

ifstream f("ssm.in");
ofstream q("ssm.out");

int main()
{
    int n,x,s_max,s_ant,len,st,len_max,st_max;
    f>>n;
    s_max=-999999999;
    s_ant=0;
    len=0;
    st=1;
    for (int i=1;i<=n;i++)
    {
        f>>x;
        if (x+s_ant>=x)
        {
            len++;
            s_ant+=x;
            if (s_ant>s_max)
            {
                s_max=s_ant;
                len_max=len;
                st_max=st;
            }
        }
        else
        {
            if (s_ant>s_max)
            {
                s_max=s_ant;
                len_max=len;
                st_max=st;
            }
            s_ant = x;
            len = 1;
            st = i;
        }
    }
    q<<s_max<<" "<<st_max<<" "<<st_max+len_max-1;
    f.close();
    q.close();
}