Cod sursa(job #2905859)

Utilizator ClaudeluCostea Claudiu Claudelu Data 24 mai 2022 07:07:19
Problema Subsecventa de suma maxima Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#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);

}