Cod sursa(job #1090288)

Utilizator SapientiaCHIRILA ADRIAN Sapientia Data 22 ianuarie 2014 15:58:06
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>
#define Nmax 6000005
using namespace std;
int v[Nmax],s[Nmax];
int i,n,min,sum=0,x,y,l,poz;
int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d",&n);v[0]=s[0]=0;
    for(i=1;i<=n;++i)
    {
        scanf("%d",&v[i]);
        s[i]=s[i-1]+v[i];
    }
    min=v[1];
    x=y=poz=1;
    sum=v[1];
    for(i=2;i<=n;++i)
    {
      if (s[i]-min>sum) {sum=s[i]-min;x=poz+1;y=i;}
      if (s[i]<min){min=s[i];poz=i;}
    }
    printf("%d %d %d",sum,x,y);
    return 0;
}