Cod sursa(job #1326525)

Utilizator BLz0rDospra Cristian BLz0r Data 25 ianuarie 2015 16:15:12
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <cstdio>
#include <algorithm>
using namespace std;

#define inf int(2e9)

FILE *f = fopen ("ssm.in","r");
FILE *g = fopen ("ssm.out","w");

int main(){
	int N, s = -inf, x, st ,dr, smax = -inf, stm, drm;
	
	fscanf (f,"%d",&N);
	
	for (int i = 1; i <= N; ++i){
		fscanf (f,"%d",&x);
		
		if (s + x > x){
			dr = i;
			s += x;
		}
		else{
			st = i;
			dr = i;
			s = x;
		}
		
		if (s > smax){
			smax = s;
			stm = st;
			drm = dr;
		}
		
	}
	
	fprintf (g,"%d %d %d",smax, stm, drm);
	
	return 0;
}