Cod sursa(job #893791)

Utilizator DanutsDanut Rusu Danuts Data 26 februarie 2013 17:55:10
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>
using namespace std;
const int maxn=6000005;
int s[maxn],n;
int minn=6000005,maxx=-(1<<30),start,is,iff;
void read(){
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;++i){
		scanf("%d",&s[i]);
		s[i]+=s[i-1];
	}
}
void ssm(){
	for(int i=1;i<=n;i++){
		if(s[i]-minn>maxx){
			maxx=s[i]-minn;
			is=start;
			iff=i;}
		if(s[i]<minn){
			minn=s[i];
			start=i+1;
		}
	}
	printf("%d %d %d",maxx,is,iff);
}
int main (){
	read();
	ssm();
	return 0;}