Cod sursa(job #260685)
Utilizator | Data | 17 februarie 2009 14:23:57 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | Ascuns |
Compilator | cpp | Status | done |
Runda | Marime | 0.65 kb |
#include <stdio.h>
#include <fstream>
using namespace std;
int N, Sol, p1, p2;
int main()
{
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int i, S = 0, X, last = 1;
fin >> N;
for (i = 1; i <= N; i++)
{
// scanf("%d ", &X);
fin >> X;
if (S < 0)
{
S = X;
last = i;
}
else S += X;
if (S > Sol)
{
Sol = S;
p2 = i;
p1 = last;
}
}
fout << Sol << " " << p1 << " " << p2 << '\n';
return 0;
}