Cod sursa(job #516145)

Utilizator dragan1alexDragan Andrei Alexandru dragan1alex Data 23 decembrie 2010 11:59:19
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream.h>
#include<iostream.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[6000001],s[6000001];

int main(){
	int i,n,k,j,imin=1,imax=1,smin=INT_MAX,smax=INT_MIN;
	fin>>n;
	for(i=1;i<=n;i++){
		fin>>v[i];
		s[i]=s[i-1]+v[i];
		if(s[i]>smax){
			smax=s[i];
			imax=i;
		}
	}
	for(i=1;i<=imax;i++){
		if(s[i]<smin){
			smin=s[i];
			imin=i;
		}
		if(v[i]>smax){
			imin=imax=i;
			smax=v[i];
			smin=0;
			break;
		}
	fout<<smax-smin<<" "<<imin+1<<" "<<imax;
	return 0;
}