Cod sursa(job #626225)

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

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

    }
    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;
}