Cod sursa(job #728181)

Utilizator Dragan_ValentinDragan Valentin Dragan_Valentin Data 28 martie 2012 15:44:13
Problema Subsecventa de suma maxima Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
	int n;
	int i;
	int a[600];
	int s[600];
	int poz[600];
	ifstream f("ssm.in");
	f>>n;
	for (i=1; i<=n; i++) {
		f>>a[i];
		s[i]=s[i-1]+a[i];
	}
	f.close();
	/*for (i=0; i<=n; i++)
		cout<<s[i]<<' ';*/
	int min=0;
	for (i=1; i<=n; i++) {
		if (a[i] < a[min]) min=i;
		poz[i]=min;
	}
	
	
	int max=-1;
	int begin,end;
	for (i=1; i<=n; i++)
		if (s[i]-s[poz[i]] > max) {
			max=s[i]-s[poz[i]];
			begin=poz[i]+1;
			end=i;
		}
	
	freopen("ssm.out","w",stdout);
	printf("%d %d %d%c",max,begin,end,'\n');
	return 0;
}