Cod sursa(job #1149205)

Utilizator antonio0822jitarciuc paul-antonio antonio0822 Data 21 martie 2014 15:36:57
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<limits.h>
#include<stdio.h>
#include<fstream>
using namespace std;
int v[6000001],s[6000001],n;
int main () {
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
    int i,sc,smax=INT_MIN,start,end,x,smin=0,pmin=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++){
		scanf("%d",&x); 
		s[i]=s[i-1]+x;
	}
    for(i=1;i<=n;i++){
		sc=s[i]-smin;
		if(sc>smax){
			smax=sc;
			start=pmin+1;
			end=i;
		}
		if(s[i]<smin){
			smin=s[i];
			pmin=i;
		}
	}
	printf("%d %d %d",smax,start,end);
	return 0;
}