Cod sursa(job #3167578)

Utilizator juincPopescu Marian juinc Data 10 noiembrie 2023 20:50:28
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <vector>

int main() {
	std::ifstream fin("buline.in");
	std::ofstream fout("buline.out");

	std::vector<short> buline;
	buline.push_back(0);

	long long n, best = -9223372036854775807, sum = 0, beg_idx, end_idx, idx = 1;
	short elem;
	bool neg;

	fin >> n;

	for (int i = 1; i <= n; i++) {
		fin >> elem >> neg;

		if (!neg)
			elem = elem*(-1);

		buline.push_back(elem);
	}

	int n_temp = n;

	for (int j = 1; j <= n; j++) {
		for (int i = n_temp-n; i <= n_temp; i++) {
			if (sum < 0) {
				sum = buline[i];
				idx = i;
			}
			else
				sum += buline[i];

			if (best < sum) {
				best = sum;
				beg_idx = idx;
				end_idx = i;
			}
		}

		sum = 0;
		n_temp++;
		idx = n_temp - n;
		buline.push_back(buline[j]);
	}

	fout << best << " " << beg_idx << " " << (end_idx-beg_idx+1);

	return 0;
}