Cod sursa(job #543542)

Utilizator Adrian1997Radulescu Adrian Adrian1997 Data 28 februarie 2011 11:21:25
Problema Subsecventa de suma maxima Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <stdio.h>
#include <limits.h>
FILE *f=fopen("ssm.in","r");
FILE *g=fopen("ssm.out","w");
int n,v[600001];

int main(void){
	register int i;
	
	fscanf(f,"%d",&n);
	for(i=1;i<=n;i++){
		fscanf(f,"%d",&v[i]);
		v[i]+=v[i-1];
	}
	fclose(f);
	
	int u,p,smax=INT_MIN;
	//v[0]=0;
	for(i=1;i<=n;i++){
		for(register int j=i;j<=n;j++){
			if(v[j]-v[i-1]>smax){
				smax=v[j]-v[i-1];
				p=i;
				u=j;
			}	
		}
	}
	
	fprintf(g,"%d %d %d",smax,p,u);
	fclose(g);
	return 0;
}