Cod sursa(job #469116)

Utilizator alisssiaMititelu Andra alisssia Data 6 iulie 2010 13:55:52
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
using namespace std;
#include<cstdio>
int best, besti, i,j,max,maxi,maxj,v,n;


int main()
{
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	scanf("%d",&n);
	scanf("%d",&v);
	best=max=v; 
	besti=maxi=0; 
	for(i=1;i<n;i++)
	{
		scanf("%d",&v);
		if(best+v>=v)    best=best+v;
		else           {best=v; besti=i;}
		if(best>max)   {max=best; maxi=besti; maxj=i; if(!v && maxj>maxi) maxj--;}
	}
	printf("%d %d %d\n",max,maxi+1,maxj+1);
	return 0;
}