Cod sursa(job #1077041)

Utilizator GaborGabrielFMI - GabrielG GaborGabriel Data 10 ianuarie 2014 20:34:13
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
using namespace std;

ifstream f("buline.in");
ofstream g("buline.out");

#define MAXN 400005
int N, v[MAXN];

int main()
{
	int i, a, max, pmax = 1, incep = 1, aux_incep = 1;

	f >> N;
	for (i = 1; i <= N; ++i)
	{
		f >> v[i] >> a;
		if (a == 0) v[i] *= -1;
		v[N + i] = v[i];
	}

	max = v[1];
	if (v[1] <= 0)
		aux_incep = 2;
	for (i = 2; i < 2*N; ++i)
	{
		if (i > N && i % N >= incep) break;
		if (v[i - 1] > 0) v[i] += v[i - 1];
		if (v[i] > max)
			max = v[i], pmax = i, incep = aux_incep;
		if (v[i] < 0)
			aux_incep = i + 1;
	}

	g << max << ' ' << incep << ' ' << pmax - incep + 1 << '\n';

	return 0;
}