Cod sursa(job #423894)

Utilizator ClasianMunteanu Petre Clasian Data 24 martie 2010 13:36:06
Problema Subsecventa de suma maxima Scor 75
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<cstdio>
using namespace std;
int v[6000000],n,pd[6000000];
int main()
{ freopen("ssm.in","r",stdin);
  freopen("ssm.out","w",stdout);
  int i,in=0,out=0,mx=0,iiin,ooout;
  scanf("%d",&n);
  for(i=1;i<=n;i++) { scanf("%d",&v[i]);
					  if(pd[i-1]>0)pd[i]=pd[i-1]+v[i],out=i;
					  else pd[i]=v[i],in=i;
					  if(mx<pd[i])mx=pd[i],iiin=in,ooout=out;
					}
  printf("%d ",mx);
  if(ooout>iiin)printf("%d %d\n",iiin,ooout);
  else printf("%d %d\n",iiin,iiin);
  fclose(stdin);
  fclose(stdout);
  return 0;
}