Cod sursa(job #412865)

Utilizator RaphyRafailescu Marius Raphy Data 6 martie 2010 19:58:05
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 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=1;
	}
	else{
		sum += v[i];
		if (m) {start = i;m=0;}
	}
	if (sum > smax) {
		smax = sum;
		stop = i+1;
	}
}
out<<smax<<" "<<start<<" "<<stop;
in.close();
out.close();
free(v);
return 0;
}