Cod sursa(job #2560461)

Utilizator lucian2015blaugranadevil lucian2015 Data 28 februarie 2020 01:10:04
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>

using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

int main(){
	int n;
	f >> n;
	int sum[n + 1] ={0};
	int best[n + 1] = {0};
	for( int i = 1; i <= n; i++ ){
		f >> sum[i];
	}
	best[0] = 0;
	best[1] = sum[1];
	int maxsum = 0, indice = 0;
	for(int i = 1; i < n; i++ ){
		best[i] = max( best[i-1] + sum[i], sum[i]);
		if( maxsum < best[i]){
			indice = i ;
			maxsum = best[i];
		}
	}
	int aux = maxsum, j;
   for( j = indice; j >=0 && aux != 0 ; j-- ){
  		aux -= sum[j]; 	
   }
   g << maxsum << " " << j + 1  << " " << indice;

}