Cod sursa(job #2909227)

Utilizator munceanMuncean Mihai-Rares muncean Data 10 iunie 2022 00:34:58
Problema Subsecventa de suma maxima Scor 85
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.61 kb

#include <stdio.h>

int main()
{
	FILE *f, *g;
	int n, i, sm = 0, s = 0, x, bi=1, b=1, e=1, neg=-6000000;

	f = fopen("ssm.in", "rt");
	g = fopen("ssm.out", "wt");

	fscanf(f, "%d", &n);

	for (i = 1; i <= n; i++)
	{
		fscanf(f, "%d", &x);

		if (x <= 0 && x>neg)
		{
			neg = x;
			b = i;
			e = i;
		}

		if (abs(s) + x >= 0)
		{
			s = s + x;
			if (s > sm)
			{
				sm = s;
				e = i;
				b = bi;
			}
		}
		else
		{
			s = 0;
			bi = i+1;
		}
	}
	if(sm!=0)
		fprintf(g, "%d %d %d", sm, b, e);
	else
		fprintf(g, "%d %d %d", neg, b, e);
	fclose(f);
	fclose(g);
	return 0;
}