Cod sursa(job #516117)

Utilizator diehardNasturel Gabriel diehard Data 23 decembrie 2010 11:28:52
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream>
#include<math.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");

int a[6000001],s[6000001];
int main(){
	int i,j,imax,jmax,n,k,smaxj,smini,max;
	fin>>n;
	s[0]=0;
	for(i=1;i<=n;i++){
		fin>>a[i];
		s[i]=s[i-1]+a[i];
	}
	smaxj=INT_MIN;
	for(i=1;i<=n;i++){
			if(s[i]>smaxj){jmax=i;
			smaxj=s[i];
			}
	}
	smini=INT_MAX;
	for(i=1;i<=jmax;i++){
		if(s[i]<smini){
			imax=i;
			smini=s[i];
		}
	}
	max=smaxj-smini;
			
		fout<<max<<" "<<imax+1<<" "<<jmax;
	return 0;
}