Cod sursa(job #1764837)

Utilizator dragomirmanuelDragomir Manuel dragomirmanuel Data 25 septembrie 2016 22:30:52
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <cstdio>
#include <climits>

using namespace std;

const int Max = 7000100;

int x[Max];

int main()
{ long long SMax=INT_MIN,Sum=0,st,poz,i,Lg;
int n;

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

   scanf("%d",&n);

   for(i=0;i<n;++i)
    scanf("%d",&x[i]);

   for(st=poz=0, Lg=i=1; i<n ; ++i)
   {
       if(Sum<0)
       {
           Sum=x[i];
           st=i;
       }

       else
            Sum+=x[i];

        if(SMax<Sum)
           {
               SMax=Sum;
               poz=st;
               Lg=i-st+1;
           }

   }

   cout<<SMax<<" "<<poz+1<<" "<<poz+Lg;
    return 0;
}