Cod sursa(job #473662)

Utilizator ilie.danilaIlie Teodor Danila ilie.danila Data 30 iulie 2010 23:27:03
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

using namespace std;

int a[6000000];
int minimum;
int n, i;
int maximum, poz1, poz2;

int main()
{
    ifstream f("ssm.in");
    ofstream g("ssm.out");

    f >> n;

    for( i = 1; i <= n; i++ )
        f >> a[i];

    minimum = maximum = a[1];
    poz1 = poz2 = 1;

    for( i = 2; i <= n; i++ )
    {
        a[i] += a[i - 1];

        if( a[i] - minimum > maximum )
        {
            maximum = a[i] - minimum;
            poz2 = i;
        }

        if( minimum > a[i] )
        {
            minimum = a[i];
            poz1 = i + 1;
        }
    }

    g << maximum << " " << poz1  << " " << poz2 << "\n";

    return 0;
}