Cod sursa(job #412867)

Utilizator RaphyRafailescu Marius Raphy Data 6 martie 2010 20:06:29
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <stdio.h>
#include <stdlib.h>
#include <fstream>
using namespace std;
int main(){
int n,*v,i;
ifstream in("ssm.in");
ofstream out("ssm.out");
in>>n;
v=(int*)malloc (n*sizeof(int));
for (i=0;i<n;i++)
	in>>v[i];
int smax,sum,start=1,stop=1,m=0;
smax=sum=v[0];
for (i = 1;i < n; ++i){
	if (sum < 0){
		sum = v[i];
		m=i;
	}
	else{
		sum += v[i];
		
	}
	if (sum > smax) {
		smax = sum;
		stop = i;
		start = m;
	}
}
out<<smax<<" "<<start<<" "<<stop;
in.close();
out.close();
free(v);
return 0;
}