Pagini recente » Cod sursa (job #1178623) | Cod sursa (job #2128477) | Cod sursa (job #826470) | Cod sursa (job #813908) | Cod sursa (job #1148861)
#include <fstream>
#include <climits>
# define MAX = 6000001
int v[6000001],n;
int s[6000001],i;
using namespace std;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
int imax,imin,istart,istop,k=0;
f>>n;
for(i=1;i<=n;i++)
{
f>>v[i];
}
int smax=INT_MIN;
s[1]=v[1];
for(i=2;i<=n;i++)
{
if(v[i]+s[i-1]>v[i])
{
s[i]=s[i-1]+v[i];
k++;
if(k==1)
{
istart=i;
}
else
{
istop=i+k-1;
}
}
else
{
s[i]=v[i];
k=0;
}
if(s[i]>smax)
{
imin=istart;
imax=istop;
smax=s[i];
}
}
g<<smax<<" "<<imin-1<<" "<<imax-1<<'\n';
return 0;
}