Pagini recente » Cod sursa (job #411761) | Cod sursa (job #2330359) | Cod sursa (job #1362123) | Cod sursa (job #5570) | Cod sursa (job #2406202)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int n, a[400010];
int main()
{
int i, s, smax, x, y, p, st, dr;
fin >> n;
for(i = 1;i <= n;i++)
{
fin >> x >> y;
if(y)
a[i] = a[n + i] = x;
else
a[i] = a[n + i] = -1 * x;
}
s = smax = a[1];
if(s < 0)
{
s = 0;
p = 2;
}
for(i = 2;i <= 2 * n;i++)
{
s += a[i];
if(s > smax && i - p + 1 <= n)
{
smax = s;
st = p;
dr = i;
}
if(s < 0)
{
s = 0;
p = i + 1;
}
}
fout << smax << " " << st << " " << dr - st + 1;
return 0;
}