Cod sursa(job #3263471)

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

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

	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;
	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;
			end = i;
		}
	}
	fprintf(output, "%d %d %d", max, start+1, end+1);
}