Cod sursa(job #643313)

Utilizator mihaibogdan10Mihai Bogdan mihaibogdan10 Data 3 decembrie 2011 13:54:46
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<cstdio>
#include<vector>
using namespace std;

vector <int> a;
int main(){
	int n, i, j, sum, min, max, indi = 1, inds;
	
	freopen ("ssm.in", "r", stdin), freopen("ssm.out", "w", stdout);
	scanf("%d", &n);
	inds = n;
	
	for (i = 0 ; i < n; i++)
		scanf("%d", &j), a.push_back(j);
	
	for (i = 0, sum = 0; i < n; i++)
		sum += a[i], a[i] = sum;
	
	for (i = 1, min = 1<<30, max = -min; i < n; i++){
		if (min > a[i-1]) min = a[i-1], indi = i+1;
		sum = a[i] - min;
		if (max < sum) max = sum, inds = i+1;
	}
	printf("%d %d %d\n", max, indi, inds);
	return 0;
}