Pagini recente » Cod sursa (job #332794) | Cod sursa (job #2801254) | Cod sursa (job #2974067) | Cod sursa (job #1403598) | Cod sursa (job #2733231)
#include <fstream>
using namespace std;
const int NMAX = 2e5;
ifstream cin("buline.in");
ofstream cout("buline.out");
int v[NMAX + 5];
int main()
{
int n, nr, i, st = 1, dr, s = 0, maxi = 0, sol_st, sol_dr;
bool c;
cin >> n;
for (int i = 1; i <= 2 * n; i++)
{
if (i <= n)
{
cin >> v[i] >> c;
v[i] = (c == 1) ? v[i] : -v[i];
nr = v[i];
}
else
nr = v[i - n];
if (s + nr < nr)
{
s = nr;
st = i;
}
else if (i < st + n)
s += nr;
if (s > maxi)
{
maxi = s;
sol_st = st;
sol_dr = i;
}
}
cout << maxi << ' ' << sol_st << ' ' << sol_dr - sol_st + 1;
}