Cod sursa(job #988024)

Utilizator gunner_292Mihai Manolescu gunner_292 Data 21 august 2013 19:47:01
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<fstream>
using namespace std;

ifstream in("ssm.in");
ofstream out("ssm.out");

int lastS;
int lastP;

int bestS;
int bestP;
int bestF;

int n;

int main()
{
	in>>n;
	
	for(int i=1; i<=n; i++)
	{
		int nr;

		in>>nr;		
	
		if(i == 1)
		{
			lastS = nr;
			lastP = 1;
			bestS = 1;
			bestP = bestF = 1;
		}
		else
		{
			if(nr > nr + lastS)
			{
				lastS = nr;
				lastP = i;
				
				if(nr > bestS)
				{
					bestS = nr;
					bestP = i;
					bestF = i;
				}	
			}
			else
			{
				lastS = nr + lastS;
				
				if(lastS > bestS)
				{
					bestS = lastS;
					bestP = lastP;
					bestF = i;
				}
			}
		}
	}	

	out<<bestS<<" "<<bestP<<" "<<bestF; 
	
	in.close();
	out.close();
	return 0;
}