Cod sursa(job #1685563)

Utilizator andrew_assassin789Andrei Manea andrew_assassin789 Data 11 aprilie 2016 18:51:31
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <vector>
#include <climits>
using namespace std;
vector <int> m;
vector <int> v;
int main()
{
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    int n,i,x,valm=INT_MIN,pozm,stpozm,poz=1;
    f>>n;
    v.resize(n+1);m.resize(n+1);
    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] )
        {
            m[i]=x;
        }
        else
        {
            poz=i;
            m[i]=v[i];
        }
        if (valm<m[i])
            valm=m[i],pozm=i,stpozm=poz;
    }
    g<<valm<<' '<<stpozm<<' '<<pozm<<'\n';
    f.close();
    g.close();
    return 0;
}