Pagini recente » Monitorul de evaluare | Cod sursa (job #2934626) | Cod sursa (job #2007351) | Cod sursa (job #532746) | Cod sursa (job #824940)
Cod sursa(job #824940)
#include <fstream>
#define MAXN 6000000
using namespace std;
const char iname[] = "ssm.in";
const char oname[] = "ssm.out";
ifstream fin(iname);
ofstream fout(oname);
int i , N , bestSum = -int(2e9) , mn = 2000000000;
int in , sf , m1 , x;
int s[ MAXN ];
int main()
{
fin >> N;
for ( i = 1; i <= N; ++i )
{
fin >> x;
s[ i ] = s[ i - 1 ] + x;
}
for ( i = 1; i <= N; ++i )
{
if ( bestSum < s[ i ] - mn )
{
bestSum = s[ i ] - mn;
in = m1;
sf = i;
}
if ( mn > s[ i ] )
{
mn = s[ i ];
m1 = i;
}
}
fout << bestSum << ' ' << in + 1 << ' ' << sf << '\n';
return 0;
}