Cod sursa(job #304090)

Utilizator vanila_CPPIonescu Victor Cristian vanila_CPP Data 10 aprilie 2009 21:18:06
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <algorithm>
#define FIN "ssm.in"
#define FOUT "ssm.out"
#define MAX 6000010
using namespace std;
int v[MAX],dyn[MAX];
int N;

int main(void){

	freopen(FIN,"rt",stdin);
	freopen(FOUT,"wt",stdout);

	scanf("%d",&N);
	for (int i=1;i<=N;++i) {scanf("%d",&v[i]);}

	int maxim=v[1];
	for (int i=1;i<=N;++i){

		dyn[i]=max(v[i],dyn[i-1]+v[i]);
		maxim=max(maxim,dyn[i]);
	}
	printf("%d\n",maxim);
	fclose(stdin);
	fclose(stdout);
	return 0;
}