Cod sursa(job #1149126)

Utilizator nusmaibunkeleviprofesor cicalescu nusmaibunkelevi Data 21 martie 2014 14:48:51
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream>
#include<stdlib.h>
#include<stdio.h>
#include<limits.h>
using namespace std;

char sir[30000001];

int main(){
ifstream in("ssm.in");
//freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);

int i,s,smax,end,start,n,x,pmin=0,smin=0;
char *p=sir;
//scanf("%d",&n);
in>>n;
in.get();
in.get(sir,30000000);
s=0;
smax=INT_MIN;

for(i=1;i<=n;++i){
    x=atoi(p);
	while(*p!=32)
		++p;
	++p;
	s+=x;
	if(s-smin>smax){
		smax=s-smin;
		start=pmin+1;
		end=i;
	}
	if(s<smin){
		smin=s;
		pmin=i;
	}
}
printf("%d %d %d",smax,start,end);
return 0;
}