Cod sursa(job #2163554)

Utilizator niculaandreiNicula Andrei Bogdan niculaandrei Data 12 martie 2018 18:51:40
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, i, s[6000002], nr, mn, mx, x, y, mni;
int main()
{
    fin >> n;
    for (i=1; i<=n; i++)
    {
        fin >> nr;
        s[i]=s[i-1]+nr;
        if (s[i]-mn>mx || i==1)
        {
            mx=s[i]-mn;
            x=mni;
            y=i;
        }
        if (s[i]-mn==mx)
        {
            if (i-mni<y-x)
            {
                x=mni;
                y=i;
            }
        }
        if (s[i]<mn || i==1)
        {
            mn=s[i];
            mni=i;
        }
    }
    fout << mx << " " << x+1 << " " << y;
    return 0;
}