Cod sursa(job #265928)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 24 februarie 2009 19:11:35
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
//#include<algorithm>
#define INF 200000001
//using namespace std;
#include<stdio.h>
int n,a[6000001];
void solve(){
	int i,sum,min,max,pozst,pozdr,pozmin;
    scanf("%d",&n);
	for(i=1; i<=n; ++i)
        scanf("%d",&a[i]);
    min=0;
    max=-INF;
    for(i=1,sum=0; i<=n; ++i){
		if((sum+=a[i])-min>max){
			max=sum-min;
			pozst=pozmin;
			pozdr=i;}
		if(sum<min){
			min=sum;
			pozmin=i+1;}}
	printf("%d %d %d",max,pozst,pozdr);}
int main(){
	freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    solve();
    return 0;}