Pagini recente » Cod sursa (job #2087379) | Cod sursa (job #405796) | Cod sursa (job #143029) | Cod sursa (job #351716) | Cod sursa (job #814698)
Cod sursa(job #814698)
#include<cstdio>
#include<fstream>
using namespace std ;
#define NMAX 6000002
int n,v[NMAX] , s , smax , smin, indleft , indright , indmin ;
int main ()
{
ifstream in("ssm.in");
ofstream out("ssm.out");
in>>n;
in>>v[1];
s=v[1];
smax = s ;
smin = s;
indleft=1 ;
indright=1 ;
indmin=1 ;
for(int i = 2 ; i <= n ; ++i)
{
in>>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;
}
}
out<<smax<<" "<<indleft<<" "<<indright;
return 0;
}