Cod sursa(job #1752484)

Utilizator adanu21Camelia Moise adanu21 Data 4 septembrie 2016 01:25:29
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>

using namespace std;


int main()
{
	ifstream infile;
	ofstream outfile;
	infile.open("ssm.in");
	outfile.open("ssm.out");
	int N,suma,poz,min=1000000000,max=-1000000000,poz_max=0,poz_min=0;
	infile >> N;
	int sir[N], s[N];
	for(int i=0;i<N;i++)
		infile >> sir[i];
	
	s[0]=sir[0];
	for(int i=1;i<N;i++)
		s[i]=s[i-1]+sir[i];
	for(int i=0;i<N;i++)
		if(s[i]>max)
		{
			max=s[i];
			poz_max=i;
		}
	for(int i=0;i<poz_max;i++)
		if(s[i]<min)
		{	
			min=s[i];
			poz_min=i;

		}
	if(poz_min==0)
		{
			suma=s[poz_max];
			outfile << suma << " " <<poz_min<< " " <<poz_max;
		}
	else
	{
	suma=s[poz_max]-s[poz_min];
	outfile << suma << " " <<poz_min+2<< " " <<poz_max+1;
}
	infile.close();
	outfile.close();
	return 0;


}