Cod sursa(job #1149217)

Utilizator Gabriela98Toader Gabriela Gabriela98 Data 21 martie 2014 15:39:34
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<limits.h>
#include<fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n;
int s[6000001];
int main(){
	int i,sc,smax=INT_MIN,start,end,x,smin=0,pmin=0;
	in>>n;
	for(i=1;i<=n;i++){
		in>>x;
		s[i]=s[i-1]+x;
	}
	for(i=1;i<=n;i++) {
		sc=s[i]-smin;
		if(sc>smax){
			smax=sc;
			start=pmin+1;
			end=i;
		}
		if(s[i]<smin){
			smin=s[i];
			pmin=i;
		}
	}
	out<<smax<<" "<<start<<" "<<end;
}