Cod sursa(job #899127)
Utilizator | Coder Coder tudy23 | Data | 28 februarie 2013 13:01:55 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <cstdio>
using namespace std;
int n,x[6000001];
int sa,pi,pf,sm,pfx,pix;
void solve()
{
for(int i=1;i<=n;++i)
{
if(sa>0)
{
sa+=x[i];
pf=i;
}
else
{
pi=pf=i;
sa=x[i];
}
if(sa>sm)
sm=sa,pfx=pf,pix=pi;
}
}
void citire()
{
freopen("ssm.in","r",stdin);
scanf("%d",&n);
for(int i=1;i<=n;++i)
scanf("%d",&x[i]);
sm=x[1];
}
int main()
{
citire();
solve();
freopen("ssm.out","w",stdout);
printf("%d %d %d",sm,pix,pfx);
return 0;
}