Pagini recente » Cod sursa (job #2029216) | Cod sursa (job #2118769) | Cod sursa (job #2448286) | Cod sursa (job #1955554) | Cod sursa (job #793466)
Cod sursa(job #793466)
# include <cstdio>
using namespace std;
int n, x, cul, best, bestsum, pozi, pozf, pozfi, pozff, v[500005];
int main()
{
int i;
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for (i = 1; i <= n; i++)
{
scanf("%d%d",&x,&cul);
v[i] = (!cul ? - x : x);
}
for (i = n + 1; i <= 2 * n; i++)
v[i] = v[i - n];
best = v[1]; pozi = 1;
for (i = 2; i <= 2 * n; i++)
{
if (best + v[i] >= v[i] && i - pozi < n)
best += v[i], pozf = i;
else {
best = v[i];
pozi = i;
pozf = i;
}
if (bestsum < best)
{
bestsum = best;
pozfi = pozi;
pozff = pozf;
}
}
printf("%d %d %d",bestsum, pozfi, pozff - pozfi + 1);
return 0;
}