Cod sursa(job #266519)
Utilizator | Vicol Sergiu Constantin Ergo | Data | 25 februarie 2009 18:54:37 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
int i, best, bst, bend, sum, st, end, N, el;
fin >>N;
best = -(1 << 31) ;
for (i = 1; i <= N; i++)
{
fin>>el;
if (sum < 0)
sum = el, st=i, end=i;
else
sum+=el, end = i;
if (sum > best)
best = sum, bst = st, bend = i;
}
fout<<best<<' '<<bst<<' '<<bend;
fout.close();
}