Cod sursa(job #1680274)

Utilizator coteanusebastianCoteanu coteanusebastian Data 8 aprilie 2016 16:59:34
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#define nmax 6000000
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int maxd=-2000000000,d[nmax],v[nmax],i,n,pozi=0,pozim,pozfm;
int main()
{
    f>>n;
    for(i=1;i<=n;i++) f>>v[i];
    d[0]=0;
    for(i=1;i<=n;i++)
    {
       if(i==1)
       {
           pozi=1;
       }
       if(v[i]<=d[i-1]+v[i])
       {
           d[i]=d[i-1]+v[i];
       }
       else
       {
           pozi=i;
           d[i]=v[i];
       }
       if(d[i]>maxd)
       {
           maxd=d[i];
           pozim=pozi;
           pozfm=i;
       }
    }
    g<<maxd<<" ";
    g<<pozim<<" ";
    g<<pozfm<<'\n';
    f.close();
    g.close();
    return 0;
}