Cod sursa(job #320364)

Utilizator stanesealexStanese Alex stanesealex Data 4 iunie 2009 15:50:00
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<cstdio>

using namespace std;

int maxim(int a, int b)
{
	if (a>b)
		return a;
	return b;
}
int main()
{
	int n,i,maxi,max;
	int poz1,poz2,x,pozs;
	FILE *f=fopen("ssm.in","r");
	FILE *g=fopen("ssm.out","w");
	fscanf(f,"%d ",&n);
	fscanf(f,"%d ",&x);
	poz1=poz2=1;
	pozs=1;
	max=x;
	maxi=x;
	for (i=2;i<=n;i++)
	{
		fscanf(f,"%d ",&x);
		maxi=maxim(x,maxi+x);
		if (maxi==x)
			pozs=i;
		if (maxi>max)
		{
			max=maxi;
			poz1=pozs;
			poz2=i;
		}
	}
	fprintf(g,"%d %d %d",max,poz1,poz2);
	fclose(f);
	fclose(g);
	return 0;
}