Cod sursa(job #1630486)
Utilizator | Data | 5 martie 2016 09:40:54 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 55 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <cstdio>
using namespace std;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
long long int n,s,smax,pozmin,pozmax,x;
scanf("%lld\n",&n);
scanf("%lld ",&x);
smax=x;
s=x;
pozmin=0;
pozmax=0;
for(int i=2; i<=n; i++)
{
scanf("%lld ",&x);
s=s+x;
if(s>smax)
{
smax=s;
pozmax=i;
}
else
if(s<0)
{
s=x;
pozmin=i;
}
}
printf("%lld %lld %lld",smax,pozmin,pozmax);
return 0;
}