Cod sursa(job #1520285)
| Utilizator | Data | 8 noiembrie 2015 16:18:22 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <cstdio>
using namespace std;
char v[100000];
int main()
{
freopen( "ssm.in", "r", stdin );
freopen( "ssm.out", "w", stdout );
int n, i, j, st=1, dr=1, max, nr=0;
scanf( "%d%d", &n , &v[1] );
max=nr=v[1];
for( i=2; i<=n; ++i ){
scanf( "%d", &v[i] );
nr+=v[i];
if( nr>max ){
max=nr;
dr=i;
}
}
for( i=2; i<=n; ++i )
for( j=i, nr=0; j<=n; ++j ){
nr+=v[j];
if( nr>max ){
max=nr;
st=i;
dr=j;
}
}
printf( "%d %d %d", max, st, dr );
return 0;
}
