Cod sursa(job #2512176)

Utilizator SochuDarabaneanu Liviu Eugen Sochu Data 20 decembrie 2019 17:47:52
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>
#define NMAX 6000000

using namespace std;

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

int n , x;
int s[NMAX];

int main()
{
    int i , mini = 0 , st = 0 , dr = 0 , imin = 0 , sum , smax = -99999999;

    f >> n;

    for(i = 1 ; i <= n ; i++)
    {
        f >> x;
        s[i] = s[i - 1] + x;
    }

    for(i = 1 ; i <= n ; i++)
    {
        sum = s[i] - mini;

        if(sum > smax)
        {
            smax = sum;
            st = imin + 1;
            dr = i;
        }

        if(mini > s[i])
        {
            mini = s[i];
            imin = i;
        }
    }

    g << smax << ' ' << st << ' ' << dr;

    return 0;
}