Cod sursa(job #713566)
Utilizator | Stoin Raul raulstoin | Data | 14 martie 2012 19:26:19 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 65 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include<fstream>
using namespace std;
void suma()
{
long nr,n,i,s=0,maxim,sw=1,pi,pj,pip;
freopen("ssm.in","r",stdin);
scanf("%ld",&n);
pi=pj=pip=1;
scanf("%ld",&nr);
maxim=nr;
for(i=1;i<n;i++)
{
scanf("%ld",&nr);
s+=nr;
if(s<0)
{
sw=0;
s=nr;
}
if(s>maxim)
{
maxim=s;
if(!sw)
{
sw=1;
pi=i+1;
}
if(pip>pi)
pi=pip;
pj=i+1;
}
else
if(!sw)
{
sw=1;
pip=i+1;
}
}
freopen("ssm.out","w",stdout);
printf("%ld %ld %ld",maxim,pi,pj);
}
int main()
{
suma();
return 0;
}