Cod sursa(job #404779)
| Utilizator | Data | 26 februarie 2010 17:52:55 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include<fstream.h>
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,i,j,smax=-32000,i11,i2,a[6000010],s,max1,max2,min=32000,x,y,max3,max4,x2,y2;
int main ()
{
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
s=0; max1=1;
for(i=1;i<=n;i++)
{ if(s+a[i]>=a[i])
{ s=s+a[i];max2=i;}
else
{s=a[i]; max2=i; max1=i;}
if(smax<s)
{smax=s; max3=max1; max4=max2;}
else
if(smax==s)
if(max2-max1<max4-max3)
{max3=max1; max4=max2;}
}
g<<smax<<" "<<max3<<" "<<max4;
return 0;
}
