Pagini recente » Cod sursa (job #1425220) | Cod sursa (job #3141316) | Cod sursa (job #1850336) | Cod sursa (job #1116125) | Cod sursa (job #1550687)
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;
int main()
{
int N, i, x, y, v[200001], startIndex = 1, s = 0, smax = - (1 << 30), startPosition = 0, length = 0;
deque<int> dq;
ifstream f("buline.in");
f >> N;
for (i = 0; i < N; i++)
{
f >> x >> y;
v[i] = y == 1 ? x : -x;
v[i + N] = v[i];
}
f.close();
for (i = 1; i < 2*N - 1; i++)
{
if (v[i - 1] + v[i] > v[i])
{
v[i] = v[i - 1] + v[i];
length++;
}
else
{
startIndex = i;
}
if (v[i] > smax)
{
smax = v[i];
length = i - (startIndex + 1);
}
}
ofstream g("buline.out");
g << smax << " " << startIndex + 1 << " " << length;
g.close();
return 0;
}