Cod sursa(job #1650121)

Utilizator justsomedudePalade Thomas-Emanuel justsomedude Data 11 martie 2016 16:42:12
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;
long long int x;

int main ()
{
     freopen("ssm.in", "r", stdin);
     freopen("ssm.out", "w", stdout);

     int s,smax,i,n,st,dr,stfin,drfin;

      scanf("%d", &n);
      scanf("%d", &x);
     st=dr=stfin=drfin=1;
     s = smax = x;
     if (s<0)
         s=0;

     for (i=2;i<=n;i++)
     {
         scanf("%d", &x);
         s=s+x;

         if (s>smax)
            {
             smax=s;
             drfin=i;
             stfin = st;
            }

         if (s<0)
            {
            s=0;
            st=i+1;
            }

     }

     printf("%d ", smax);
     printf("%d ", stfin);
     printf("%d ", drfin);
     return 0;