Cod sursa(job #1685534)

Utilizator andrew_assassin789Andrei Manea andrew_assassin789 Data 11 aprilie 2016 18:38:18
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#define nmax 6000005
using namespace std;
unsigned int m[nmax];
unsigned int v[nmax];
unsigned int prec[nmax];
int main()
{
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    unsigned int 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;
}