Cod sursa(job #1342310)

Utilizator bugyBogdan Vlad bugy Data 13 februarie 2015 20:08:02
Problema Subsecventa de suma maxima Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>
#include <limits.h>
int main() {

	FILE *f = fopen("ssm.in","r"), *g = fopen("ssm.out","w");
	
	int n, i;
	fscanf(f,"%d",&n);
	
	int x, min = INT_MAX, max = 0, indMin = 1, ind1 = 0, ind2 = 0;
	int v[n+1];
	v[0] = 0;
	for (i = 1; i <= n; i++) {
		fscanf(f,"%d",&x);
		v[i] = v[i-1] + x; 
		if (min > v[i]) {
			min = v[i];
			indMin = i;
		}
		if (max < v[i] - min) {
			max = v[i] - min;
			ind1 = indMin+1;
			ind2 = i;
		}
		if (max < v[i]) {
			max = v[i];
			indMin = ind1 = 1;
		}
	}
	fprintf(g,"%d %d %d\n",max,ind1,ind2);
	
	return 0;
}