Pagini recente » Cod sursa (job #426983) | Cod sursa (job #142763) | Cod sursa (job #297572) | Cod sursa (job #28863) | Cod sursa (job #903068)
Cod sursa(job #903068)
#include <iostream.h>
#include <fstream.h>
#define maxN 6000005
#define max(a, b) a > b ? a : b
#define infinite 1<<30
int n, v[maxN], d[maxN], maxim = - infinite;
int a = 1, b = 1;
int main()
{
ifstream f ("ssm.in");
ofstream g ("ssm.out");
f >> n;
for(int i = 1; i <= n; i ++)
f >> v[i];
d[1] = v[1];
for(int i = 2; i <= n; i ++)
{
if(d[i - 1] < 0)
a = i;
d[i] = max(v[i], v[i] + d[i - 1]);
if(maxim < d[i])
b = i;
maxim = max(d[i], maxim);
}
g << maxim << ' ' << a << ' ' << b;
}