Cod sursa(job #2659111)

Utilizator akumariaPatrascanu Andra-Maria akumaria Data 15 octombrie 2020 20:41:13
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <vector>

using namespace std;

int main() {
	ifstream in("ssm.in");
	ofstream out("ssm.out");

	int n, maxsumindex, num;
	in >> n;

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

	in >> num;
	best[1] = num;
	maxsumindex = 1;

	for(int i=2; i<=n; ++i) {
		in >> 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;
	}

	out << best[maxsumindex] << " " << starts[maxsumindex] << " " << maxsumindex;

	return 0;
}