Cod sursa(job #263487)
Utilizator | Data | 20 februarie 2009 14:38:17 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <fstream>
using namespace std;
int main()
{
ifstream in("ssm.in");
ofstream out("ssm.out");
int n, x, max = -(1<<30), start = 1, stop = 1, s = 0, p = 0;
in >> n;
for ( int i = 1; i <= n; ++i )
{
in >> x;
if ( s < 0 )
{
p = i;
s = x;
}
else
s += x;
if ( s > max )
max = s, start = p, stop = i;
}
out << max << " " << start << " " << stop;
return 0;
}