Cod sursa(job #2052465)
Utilizator | Data | 30 octombrie 2017 17:28:16 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.7 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");;
ofstream fout("ssm.out");
int n,i,j,v[6000002],s,smax,c,maxneg,ii,jj;
int main()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>v[i];
}
c=0;
maxneg=-2000000000;
smax=0;
s=0;
i=1;
for(j=1;j<=n;j++)
{
if(v[j]>=0) c++;
if(v[j]<0 && v[j]>maxneg) maxneg=v[j];
s=s+v[j];
if(s>=0)
{
if(s>smax)
{
smax=s;
ii=i;
jj=j;
}
}
else
{
i=j+1;
s=0;
}
}
fout<<smax<<" "<<ii<<" "<<jj;
return 0;
}