Pagini recente » Cod sursa (job #1604539) | Monitorul de evaluare | Cod sursa (job #2052252) | Cod sursa (job #1575140) | Cod sursa (job #1953550)
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[6000001];
int main()
{ int i,n,pozinc=1,inc=1,pozsf=0,s=0,smax=0,m=0,maxim=-999999;
fin>>n;
for(i=1;i<=n;i++)
{fin>>a[i];
if(a[i]>=0)
m++;
if(a[i]>maxim)
maxim=a[i];
}
for(i=1;i<=n;i++)
if(a[i]==maxim)
{pozinc=i;
pozsf=i;
break;
}
if(m==0)
fout<<maxim<<" "<<pozinc<<" "<<pozsf;
else
{for(i=1;i<=n;i++)
{s+=a[i];
if(s>smax)
{smax=s;
pozsf=i;
pozinc=inc;
}
if(s<0)
{s=0;
inc=i+1;
}
}
fout<<smax<<" "<<pozinc<<" "<<pozsf;
}
fout<<'\n';
return 0;
}