Cod sursa(job #653906)

Utilizator Victor10Oltean Victor Victor10 Data 29 decembrie 2011 11:23:21
Problema Subsecventa de suma maxima Scor 35
Compilator cpp Status done
Runda avram_simulare_3 Marime 0.5 kb
#include <cstdio>
int v[6000000];
int main(){
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	int n,i,j,St,Smax,pr,ult;
	scanf("%d",&n);
	for(i=1;i<=n;++i){
		scanf("%d",&v[i]);
		v[i]=v[i]+v[i-1];
	}
	Smax=v[n];
	pr=1;
	ult=n;
	for(i=0;i<=n;++i)
		for(j=i+1;j<=n;++j){
			St=v[n]-(v[i]+(v[n]-v[j]));
			if(St>Smax){
				Smax=St;
				pr=i+1;
				ult=j;
			}
			if(St==Smax&&(j-i)<(ult-pr+1)){
				pr=i+1;
				ult=j;
			}
		}
	printf("%d %d %d ",Smax,pr,ult);
}