Pagini recente » Cod sursa (job #1231732) | Cod sursa (job #24243) | Cod sursa (job #2042229) | Cod sursa (job #195915) | Cod sursa (job #457873)
Cod sursa(job #457873)
#include<fstream>
using namespace std;
int n,i,j,st=1,dr=1,maxim,suma,x[6000001];
int main()
{
ifstream f("ssm.in");ofstream g("ssm.out");
f>>n>>x[1];
maxim=x[1];
for(i=2;i<=n;i++)
{
f>>x[i];
if(x[i]>maxim){maxim=x[i];st=dr=i;}
}
if(maxim>0)
{
i=st=dr=1;
suma=maxim=0;
for(j=1;j<=n;j++)
{
suma=suma+x[j];
if(suma>maxim || suma==maxim && j-i<dr-st){maxim=suma;st=i;dr=j;}
else if(suma<0)
{
if(x==0 && maxim<0){maxim=0;st=dr=j;}
i=j+1;suma=0;
}
}
}
g<<maxim<<' '<<st<<' '<<dr;
f.close();g.close();
return 1;
}