Cod sursa(job #2811761)

Utilizator andrei_marciucMarciuc Andrei andrei_marciuc Data 3 decembrie 2021 08:40:54
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stdio.h>

long long maxx, sum;
int n;

int main() 
{
	int x;
	FILE *fin = fopen( "ssm.in", "r" );
	fscanf( fin, "%d%lld", &n, &maxx );
	int left = 0, right = 0;
	long long suma = maxx;

	int l = 0, r = 0;
	for( int i = 1; i < n; i++ ) {
		fscanf( fin, "%d", &x );
		if( suma + x >= x ) {
			suma += x;
			++r;
		} else {
			suma = x;
			r = l = i;
		}

		if( maxx < suma ) {
			maxx = suma;
			left = l;
			right = r;
		}
	}
	fclose( fin );

	FILE *fout = fopen( "ssm.out", "w" );
	fprintf( fout, "%lld %d %d\n", maxx, left + 1, right + 1 );
	fclose( fout );
	return 0;
}