Cod sursa(job #2659106)

Utilizator akumariaPatrascanu Andra-Maria akumaria Data 15 octombrie 2020 20:35:05
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <cstdio>
#include <vector>

using namespace std;

int main() {
	freopen("ssm.in", "r", stdin);
	freopen("ssm.out", "w", stdout);

	int n, maxsumindex, num;
	scanf("%d", &n);

	vector<int> best(n+1, 0);
	vector<int> starts(n+1, 0);

	scanf("%d", &num);
	best[1] = num;
	maxsumindex = 1;

	for(int i=2; i<=n; ++i) {
		scanf("%d", &num);
		best[i] = num;
		starts[i] = i;
		if (best[i-1] + num > best[i]) {
			best[i] = best[i-1] + num;
			starts[i] = starts[i-1];
		}

		if (best[i] > best[maxsumindex])
            maxsumindex = i;
	}

	printf("%d ", best[maxsumindex]);
	printf("%d %d\n", starts[maxsumindex], maxsumindex);

	return 0;
}