Cod sursa(job #626229)

Utilizator ZexonAvramita Teodor Zexon Data 26 octombrie 2011 17:35:11
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");

const int A = 6000000;

int q[A+1];

int main()
{
    string tmp;
    in >> tmp;
    int a = atoi(tmp.c_str());

    for (int i =1;i<=a;i++ )
    {
        //in>> tmp;
        //q[i] = atoi(tmp.c_str());
        in >> q[i];

    }
    int start =1;
    int suma=0;
    int startmax=0;
    int stiop=0;
    int sumamax = -9999999;

    for (int i =1; i<=a;i++)
    {
        if(suma<0)
        {
            suma =0;
            start = i;
        }
        suma += q[i];
        if(suma> sumamax)
        {
            sumamax = suma;
            startmax = start;
            stiop = i;
        }
    }
    out<<sumamax<<" "<<startmax<<" "<<stiop;
}