Cod sursa(job #1939087)

Utilizator ana.vitAna-Maria Vit ana.vit Data 25 martie 2017 13:55:37
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[6000003], s[6000003];
int main()
{
    int Max = INT_MIN, N, Min = INT_MAX, st , dr , x, i , j;
    fin >> N;
    for (int i = 1; i <=  N; i++)
        fin >> a[i];
    for (int i = 1; i <= N; i++)
    {
        s[i] = s[i-1] + a[i];
        if (s[i-1] < Min)
        {
            Min = s[i-1];
            x = i-1;
        }
        if (s[i] - Min > Max)
        {
            Max = s[i] - Min;
            st = x;
            dr = i;
        }
    }
    fout << Max << " " << st+1 << " " << dr;

    fin.close();
    fout.close();

    return 0;
}