Cod sursa(job #941145)
Utilizator | Data | 18 aprilie 2013 01:24:53 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
using namespace std;
int main()
{
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n;
fin >> n;
int a, lowi(0), i, j;
long long cur(0), low(0), ans(-1ll<<60);
for (int k = 1; k <= n; ++k) {
fin >> a;
cur += a;
if (ans < cur-low) {
ans = cur-low;
i = lowi;
j = k;
}
if (low > cur) {
low = cur;
lowi = k;
}
}
fout << ans << ' ' << i+1 << ' ' << j;
return 0;
}