Cod sursa(job #1077915)
Utilizator | Savulescu Stefan savulescustefan | Data | 11 ianuarie 2014 19:45:41 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include <cstdio>
using namespace std;
int x,y,p,n,a[6000004],i,sc,smax;
int main()
{
freopen ("ssm.in","r",stdin);
freopen ("ssm.out","w",stdout);
scanf ("%d", &n);
for (i=1;i<=n;i++)
scanf ("%d", &a[i]);
sc=smax=a[1];
p=x=y=1;
for (i=2;i<=n;i++)
{
if (sc>=0)
sc+=a[i];
else
{
sc=a[i];
p=i;
}
if (sc>smax)
{
smax=sc;
x=p;
y=i;
}
}
printf ("%d %d %d", smax, x, y);
return 0;
}