Pagini recente » Cod sursa (job #613397) | Cod sursa (job #1098765) | Cod sursa (job #3268570) | Cod sursa (job #2077245) | Cod sursa (job #1077041)
#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;
}