Pagini recente » Cod sursa (job #2107434) | Cod sursa (job #898617) | Cod sursa (job #744491) | Cod sursa (job #803580) | Cod sursa (job #26691)
Cod sursa(job #26691)
# include <stdio.h>
# define _fin "buline.in"
# define _fout "buline.out"
# define maxn 200002
int a[maxn], n, smax, p, l;
int main()
{
freopen(_fin, "r", stdin);
freopen(_fout,"w", stdout);
int i, pz=1, saux=0, x, s=0, t;
for (scanf("%d", &n), i=1; i<=n; i++)
{
scanf("%d%d", a+i, &x), a[i] *= (2*x-1);
s += a[i];
if ( saux+a[i] >= a[i] ) saux += a[i];
else saux = a[i], pz=i;
if ( saux>smax ) smax=saux, p=pz, l=i-pz+1;
}
for (saux=0, t=-10001, i=1; i<=n; i++)
{
saux+=a[i];
if ( saux>t ) t=saux, pz=n+i;
if ( s-saux+t > smax ) smax=s-saux+t, p=i+1, l=pz-i;
}
printf("%d %d %d\n", smax, p, l);
return 0;
}