Pagini recente » Cod sursa (job #2585047) | Cod sursa (job #344218) | Cod sursa (job #1429467) | Cod sursa (job #1630622) | Cod sursa (job #2909362)
#pragma warning (disable : 4996)
#include <stdio.h>
int n, v[100001], d[100001], b, bi, e;
int max(int a, int b)
{
if (a > b)
return a;
else
return b;
}
int dinamic(int i)
{
int j, maxj = 0;
for (j = 1; j < i; j++)
{
maxj = max(maxj, d[j]);
}
d[i] = max(v[i], v[i] + d[i-1]);
if (d[i] == v[i])
bi = i;
}
int main()
{
int i, s=0;
FILE *f, *g;
f = fopen("ssm.in", "rt");
g = fopen("ssm.out", "wt");
fscanf(f, "%d", &n);
d[0] = 0;
for (i = 1; i <= n; i++)
{
fscanf(f, "%d", &v[i]);
dinamic(i);
s = max(s, d[i]);
if (s == d[i])
{
b = bi;
e = i;
}
}
fprintf(g, "%d %d %d", s, b, e);
fclose(f);
fclose(g);
return 0;
}