Pagini recente » Cod sursa (job #126738) | Cod sursa (job #252776) | Cod sursa (job #1795513) | Cod sursa (job #2821840) | Cod sursa (job #2856302)
#include <stdio.h>
#include <stdlib.h>
#define INF (1 << 30)
int main()
{
FILE *in, *out;
in = fopen("ssm.in", "r");
out = fopen("ssm.out", "w");
int n, sc = -INF, st, stmax, drmax, smax = -INF;
fscanf(in, "%d", &n);
for (int i = 1; i <= n; i++)
{
int x;
fscanf(in, "%d", &x);
if (x > sc + x)///sau if (sc < 0)
{
sc = x;
st = i;
}
else
{
sc += x;
}
if (sc > smax)
{
smax = sc;
stmax = st;
drmax = i;
}
}
fprintf(out, "%d %d %d", smax, stmax, drmax);
fclose(in);
fclose(out);
return 0;
}