Cod sursa(job #1461021)

Utilizator MateiVladMatei Vlad MateiVlad Data 14 iulie 2015 16:03:21
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <cstdio>

using namespace std;

int x[6000001];

int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    int n,i,sc,ic,smax,im,sfm;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        scanf("%d",&x[i]);
    sc=smax=x[1];
    ic=im=sfm=1;
    for(i=2;i<=n;i++)
    {
      if(sc+x[i]<x[i])
      {
        sc=x[i];
        ic=i;
      }
      else
          sc=sc+x[i];
      if(sc>smax)
      {
        smax=sc;
        im=ic;
        sfm=i;
      }
    }
    printf("%d ",smax);
    printf("%d %d\n",im,sfm);
    return 0;
}