Cod sursa(job #2731288)

Utilizator vladvlad00Vlad Teodorescu vladvlad00 Data 27 martie 2021 17:23:03
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <cmath>
#include <cstring>
#include <iomanip>
#include <unordered_map>
#include <queue>

using namespace std;

ifstream cin("ssm.in");
ofstream cout("ssm.out");

int n;

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);

	cin >> n;
	vector<int> v(n + 1);
	vector<int> s(n + 1);

	int minim = 1e9, maxim = -1e9, pozmin = 0;
	int st = 0, dr = 0;
	int sum_current = 0;
	for (int i = 1; i <= n; i++)
	{
		cin >> v[i];
		sum_current += v[i];
		if (sum_current > maxim)
		{
			maxim = sum_current;
			st = pozmin;
			dr = i;
		}
		if (sum_current < 0)
		{
			pozmin = i+1;
			sum_current = 0;
		}
	}
	cout << maxim << ' ' << st << ' ' << dr << '\n';
	return 0;
}