Cod sursa(job #392134)

Utilizator miculprogramatorA Cosmina - vechi miculprogramator Data 6 februarie 2010 19:57:40
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda CNRV - Pregatire OJI #2 Marime 0.51 kb
#include <iostream>
#include <fstream>
using namespace std;

int N,SMax,Sum,Lg,i,j,s[1000],st,poz;
int main()
{
	ifstream f("subs.in");
	ofstream g("subs.out");
	f>>N;
	for (i=1;i<=N;++i)
		f>>s[i];
	f.close();
	for (SMax=Sum=0, st=poz=0, Lg=i=1; i<=N;++i)
		if (Sum<0)
		{
			Sum=s[i];
			st=i;
		}
		else
		{
			Sum+=s[i];
			if (SMax<Sum)
			{
				SMax=Sum;
				poz=st;
				Lg=i-st+1;
			}
		}
	cout<<"SMAX="<<SMax<<"\n";
	cout<<"st="<<st<<"\n";
	cout<<"Lg="<<st+Lg-1<<"\n";
	return 0;
}