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