Cod sursa(job #3308760)

Utilizator mihai.25Calin Mihai mihai.25 Data 27 august 2025 20:59:27
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>

#include <vector>

using namespace std;

ifstream fin ("buline.in");

ofstream fout ("buline.out");

int main () {

	int n;

	fin >> n;

	vector<int> v;

	for (int i = 0; i < n; ++i) {

		int x, c;

		fin >> x >> c;

		if (c == 1)
			v.push_back(x);
		else
			v.push_back(-x);
	}

	for (int i = 0; i < n - 1; ++i)
		v.push_back(v[i]);
	
	int sum_max = -1e9, sum = 0, start, poz, lungime;

	for (int i = 0; i < v.size(); ++i) {

		if (sum + v[i] > v[i])
			sum += v[i];
		else {

			sum = v[i];

			start = i % n;
		}

		if (sum > sum_max) {

			sum_max = sum;

			lungime = i - start + 1;

			poz = start;
		}
	}

	fout << sum_max << ' ' << poz + 1 << ' ' << lungime;

	return 0;
}