Cod sursa(job #1796490)

Utilizator peace_gabiMircea Ioan-Gabriel peace_gabi Data 3 noiembrie 2016 15:47:10
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
include <cmath>
using namespace std;

void citesteSir(int x[],int& n){
	ifstream is("ssm.in");
	is>>n;	
	for (int i=0;i<n;i++){
	is>>x[i];	
	}
	is.close();
}

void scrieSir(int x[],int n,int st,int dr){
	ofstream os("ssm.out");	
	for (int i =st;i<dr;i++){
		os<<x[i]<<" ";	
	}
	os.close();
}

int calculeazaSecvSumaMaxima(int x[],int n,int& st,int& dr){
	int best;
	best= x[0];
	st=dr=0;
	for (int i=1;i<n;i++){
		if (best+x[i]>=x[i]){
			dr++;
			best +=x[i]; 	
		}else{
			st=dr=i;
			best = x[i];
		}
	}
	return best;	
}

int main(){
int n=-1;
int x[100];
citesteSir(x,n);
int st,dr;
int best = calculeazaSecvSumaMaxima(x,n,st,dr);
ofstream os("ssm.out");	
os<<best<<" "<<st<<" "<<dr;
os.close();
}