Cod sursa(job #1049545)
| Utilizator | Data | 7 decembrie 2013 15:07:51 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include<cstdio>
#include<algorithm>
using namespace std;
const int inf=1<<30;
int main()
{
freopen( "ssm.in", "r", stdin);
freopen( "ssm.out", "w", stdout);
int n=0, i=0, x=0, retine1=1, retine2=1, flag;
long long s=0, aux=-inf;
scanf("%d",&n);
for( i=1; i<n; i++ )
{
scanf( "%d", &x );
if(s>=0)
{
s=s+x;
}
else
{
s=x;
flag=i;
}
if(s>aux)
{
aux=s;
retine1=i;
retine2=flag;
}
}
printf( "%lld %d %d\n", s, retine2, retine1 );
return 0;
}
