Cod sursa(job #1947464)
| Utilizator | Data | 30 martie 2017 23:18:48 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include <cstdio>
using namespace std;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
long long n,i,mx,inf,sff,x,sprev,in;
scanf("%lld",&n);
for(i=1;i<=n;i++)
{
scanf("%lld",&x);
if(i==1)
sprev=x,mx=x;
else
{
if(sprev>mx)
mx=sprev,inf=in,sff=i-1;
if(sprev+x<x)
{
sprev=x;
in=i;
}
else sprev+=x;
}
}
if(sprev>mx)
mx=sprev,inf=in,sff=n;
printf("%lld %lld %lld",mx,inf,sff);
return 0;
}
