Cod sursa(job #279591)

Utilizator the1dragonIonita Alexandru the1dragon Data 12 martie 2009 21:25:00
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<stdio.h>
#include<string.h>
#define N_MAX 60000000

char v[N_MAX];

int main()
{
	freopen("ssm.in", "r", stdin);
	freopen("ssm.out", "w", stdout);
	int i, n, s, len, sum=0, sol=0, aa, a=0, b=0, nr=0;
	scanf("%d\n", &s);
	gets(v);
	
	len=strlen(v);
	for (i=0; i<len; i++)
	{
		++nr;
		if (v[i]=='-')
		{
			s=-1;
			++i;
		}
		else
			s=1;
		n=0;
		while ((v[i]!=' ')&&(i<len))
		{
			n*=10;
			n+=v[i]-'0';
			++i;
		}
		n*=s;
		if (sum+n >=n)
			sum+=n;
		else
		{
			sum=n;
			aa=nr;
		}
		if (sum>sol)
		{
			sol=sum;
			a=aa;
			b=nr;
		}
		
	}
	printf("%d %d %d", sol, a, b);
	fclose(stdout);
	return 0;
}