Cod sursa(job #2909228)

Utilizator munceanMuncean Mihai-Rares muncean Data 10 iunie 2022 00:49:00
Problema Subsecventa de suma maxima Scor 80
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#pragma warning(disable:4996)
#include <stdio.h>

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

	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;
			bn = i;
			en = i;
		}

		if (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, bn, en);
	fclose(f);
	fclose(g);
	return 0;
}