Cod sursa(job #3263475)

Utilizator BeilandArnoldArnold Beiland BeilandArnold Data 14 decembrie 2024 14:20:34
Problema Subsecventa de suma maxima Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <stdio.h>
#include <limits.h>

int main() {
	//FILE* input = fopen("ssm.in", "r");
	//FILE* output = fopen("ssm.out", "w");
	FILE* input = fopen("input.txt", "r");
	FILE* output = stdout;


	int n;
	fscanf(input, "%d ", &n);
	int arr[n];
	for(int i = 0; i < n; i++) {
		fscanf(input, "%d ", &arr[i]);
	}

	int max = INT_MIN, maxstart = 0;
	int start = 0, end = 0;
	int sum = 0;

	for(int i = 0; i < n; i++) {
		if (sum < 0) {
			sum = arr[i];
			start = i;
		} else {
			sum += arr[i];
		}
		if (max < sum) {
			max = sum;
			maxstart = start;
			end = i;
		}
	}
	fprintf(output, "%d %d %d", max, maxstart+1, end+1);
}