Cod sursa(job #1685531)

Utilizator andrew_assassin789Andrei Manea andrew_assassin789 Data 11 aprilie 2016 18:36:56
Problema Subsecventa de suma maxima Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#define nmax 100005
using namespace std;
long long m[nmax];
long long v[nmax];
long long prec[nmax];
int main()
{
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    long long n,i,x,valm=-1,pozm;
    f>>n;
    for (i=1;i<=n;i++)
        f>>v[i];
    for (i=1;i<=n;i++)
    {
        x=m[i-1]+v[i];
        if ( x > v[i] )
        {
            prec[i]=prec[i-1];
            m[i]=x;
        }
        else
        {
            prec[i]=i;
            m[i]=v[i];
        }
        if (valm<m[i])
            valm=m[i],pozm=i;
    }
    g<<valm<<' '<<prec[pozm]<<' '<<pozm<<'\n';
    f.close();
    g.close();
    return 0;
}