Cod sursa(job #263944)

Utilizator MegaheroDan Cearnau Megahero Data 20 februarie 2009 23:05:38
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <stdio.h>

long int v[6000000];
int n;

void citire()
{
	freopen("ssm.in","r",stdin);
   scanf("%ld",&n);
   for (int i=1;i<=n;i++)
   	scanf("%d",&v[i]);
}


void subsir()
{
	freopen("ssm.out","w",stdout);
	long int summax=0,s=0,i,start,inc,sfr;
   for (i=1;i<=n;i++)
   	{
      if (v[i]>v[i]+s)
      	{
         start=i;
         s=v[i];
         }
      else
      	s+=v[i];
      if (summax<s)
      	{
         inc=start;
         sfr=i;
         summax=s;
         }
      }
   printf("%ld %ld %ld",summax,inc,sfr);
}

int main()
{
	citire();
   subsir();
}