Cod sursa(job #2631228)

Utilizator Razvan48Capatina Razvan Nicolae Razvan48 Data 29 iunie 2020 15:31:51
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
using namespace std;

int main()
{
	ifstream f("ssm.in");
	ofstream g("ssm.out");

	int st=1, stMax=0, drMax=0;
	int n,i,x;
	int suma = 0;
	int sumaMax = 0;

	f>>n;
	f>>sumaMax;
	stMax=drMax=1;

	for(i=2;i<=n;i++)
{
	f>>x;
	suma = suma + x;
	if(suma>sumaMax)
{
	sumaMax=suma;
	stMax=st;
	drMax=i;
}
else if(suma==sumaMax && (drMax-stMax+1 > i-st+1))
{
	stMax=st;
	drMax=i;
}

	if(suma < 0)
	{
		suma=0;
		st=i+1;
}
}

g<<sumaMax<<' '<<stMax<<' '<<drMax;

return 0;
}