Cod sursa(job #988030)

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

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

int lastS;
int lastP;

int bestS = -99999;
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 = nr;
			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;
}