Pagini recente » Cod sursa (job #3218198) | Cod sursa (job #2329162) | Cod sursa (job #486699) | Cod sursa (job #2885112) | Cod sursa (job #2905859)
#include < stdio.h>
#include <stdlib.h>
int main()
{
FILE* f = fopen("ssm.in", "r"), * g = fopen("ssm.out", "w");
int N, smax = 0, ii = 0, is = 0, x = 0, *A = NULL, i, s = 0;
fscanf(f, "%d", & N);
A = (int*)malloc(N * sizeof(int));
for (i = 0; i < N; i++)
fscanf(f, "%d", &A[i]);
x = A[0];
smax = A[0];
for (i = 1; i < N; i++)
{
if (A[i] > A[i] + x)
{
x = A[i];
}
else
{
x = A[i] + x;
}
if (x > smax)
{
smax = x;
is = i;
}
}
for (i = is; i >= 0; i--)
{
s = s + A[i];
if (s == smax)
{
ii = i;
break;
}
}
fprintf(g, "%d %d %d", smax, ii + 1, is + 1);
free(A);
}