Pagini recente » Cod sursa (job #1043427) | Cod sursa (job #1928286) | Cod sursa (job #1705685) | Cod sursa (job #623991) | Cod sursa (job #1642426)
#include <cstdio>
int n,i,a[200005],cul,sn,s,st,dr,smin,stmin,drmin;
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for (i=1; i<=n; i++)
{
scanf("%d%d",&a[i],&cul);
if (cul==0) a[i]=(-1)*a[i];
sn=sn+a[i];
}
s=a[1];
st=1;
dr=1;
smin=a[1];
stmin=1;
drmin=1;
for (i=2; i<=n; i++)
{
if (a[i]+s<=a[i]) s=s+a[i];
else s=a[i],st=i;
if (s<smin or (s==smin && (i-st+1>drmin-stmin+1)))
{
smin=s;
stmin=st;
drmin=i;
}
}
if (smin==sn) printf("%d %d %d\n",smin,1,n);
else printf("%d %d %d\n",sn-smin,drmin+1,n-drmin+stmin-1);
return 0;
}