Cod sursa(job #2608445)

Utilizator michael_blazemihai mihai michael_blaze Data 1 mai 2020 12:47:19
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>

int main() {
	FILE* fin = fopen("ssm.in", "r");
	FILE* fout = fopen("ssm.out", "w");

	int n, index_i, index_j;
	int left, right;
	int sum = 0;
	int max_sum = -2147483647;
	int x;

	fscanf(fin, "%d", &n);
	
	for (int i = 1;i <= n;i ++) {
		fscanf(fin, "%d", &x);

		sum += x;
		right = i;

		if (max_sum < sum) {
			max_sum = sum;
			
			index_j = right;
			index_i = left;
		}

		if (sum < 0) {
			sum = 0;
			left = i + 1;	
		} 
	}

	fprintf(fout, "%d %d %d", max_sum, index_i, index_j);

	return 0;
}