Cod sursa(job #941144)
Utilizator | Data | 18 aprilie 2013 01:15:44 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
using namespace std;
int main()
{
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n;
fin >> n;
int a, i(0), j(0);
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;
j = k;
}
if (low > cur) {
low = cur;
i = k;
}
}
fout << ans << ' ' << i+1 << ' ' << j;
return 0;
}