Pagini recente » Cod sursa (job #670142) | Cod sursa (job #2063920) | Cod sursa (job #1717682) | Cod sursa (job #2819669) | Cod sursa (job #814102)
Cod sursa(job #814102)
#include<cstdio>
#include<cmath>
using namespace std ;
#define NMAX 600002
int n ,sum[NMAX],v[NMAX] , s , smax , smin, indleft , indright , indmin ;
int main ()
{
freopen("ssm.in" , "r" , stdin);
freopen("ssm.out", "w",stdout);
scanf("%d",&n);
scanf("%d",&v[1]);
s=v[1];
smax = s ;
smin = s;
indleft=1 ;
indright=1 ;
indmin=1 ;
for(int i = 2 ; i <= n ; ++i)
{
scanf("%d",&v[i]);
if(v[i] > (s + v[i]) && v[i]>smax )
{
indleft = i ;
indright = i ;
smax = v[i] ;
s = s + v[ i ];
}
else
{
s = s + v[ i ];
if( s - smin > smax )
{
indleft = indmin + 1 ;
indright = i ;
smax = s -smin ;
}
else
if( s-smin == smax )
if( ( i - indmin ) < (indright-indleft) )
{
indleft = indmin + 1 ;
indright = i ;
smax = s-smin ;
}
}
if( s < smin )
{
smin = s ;
indmin=i;
}
}
printf("%d %d %d" , smax ,indleft ,indright);
return 0;
}