Cod sursa(job #478407)

Utilizator crouchHotea Cristian crouch Data 18 august 2010 15:16:20
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;
int n,k,x,y,aux,s[6000001],b[6000001],t,pozmin,pozmax,st,dr,a[6000001],c[6000001];
int main()
{
  ifstream f("ssm.in",ios::in);
  ofstream g("ssm.out",ios::out);
  f>>n;
  int max=-2147483647;
  int min=2147483647;
  for(int i=1;i<=n;i++)
    {
     f>>x;
     s[i]=s[i-1]+x;
    }
    min=s[1];
    c[0]=1;
    for(int i=1;i<=n;i++)
    {
        if(s[i]<min)
        {b[i]=s[i];
        min=s[i];
        c[i]=i;}
        else
        {b[i]=min;
        c[i]=c[i-1];
        }

    }
    max=s[1];
    for(int i=2;i<=n;i++)
    if(s[i]-b[i]>max)
     { max=s[i]-b[i];
       dr=i;
       st=c[i];
     }

    g<<max<<" "<<st+1<<" "<<dr;


    }