Cod sursa(job #604512)
Utilizator | Data | 22 iulie 2011 21:44:32 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include <iostream>
#define Inf 2000000000
using namespace std;
int N, SMax, Si, Sj;
int main()
{
freopen ("ssm.in", "r", stdin);
freopen ("ssm.out", "w", stdout);
scanf ("%d", &N);
int ii=1, S=0;
SMax=-Inf;
Si=1;
Sj=1;
for (int i=1; i<=N; ++i)
{
int X;
scanf ("%d", &X);
if (S>0)
{
S+=X;
}
else
{
S=X;
ii=i;
}
if (S>SMax)
{
SMax=S;
Si=ii;
Sj=i;
}
}
printf ("%d %d %d\n", SMax, Si, Sj);
return 0;
}