Pagini recente » Cod sursa (job #1233650) | Cod sursa (job #2600250) | Cod sursa (job #41249) | Cod sursa (job #644632) | Cod sursa (job #503533)
Cod sursa(job #503533)
#include<stdio.h>
int v[200001];
int main ()
{
int n,i,j,nr,c,sc,p,l,min=999999,s2=0,max=-1000000000,p2,l2;
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d %d",&nr,&c);
if (c==1)
v[i]=nr;
else
v[i]=-nr;
s2=s2+v[i];
}
j=1;
sc=0;
for(i=1;i<=n;i++)
{
sc=sc+v[i];
if (sc>max)
{
max=sc;
p2=j;
l2=i-j+1;
}
if (sc<=0)
{
j=i+1;
sc=0;
}
}
j=1;
sc=0;
for (i=1;i<=n;i++)
{
sc=sc+v[i];
if (sc<min)
{
min=sc;
p=j;
l=i-j+1;
}
if (sc>0)
{
j=i+1;
sc=0;
}
}
p=p+l;
l=n-l;
if(max > s2 - min)
printf("%d %d %d",max,p2,l2);
else
printf("%d %d %d",s2-min,p,l);
return 0;
}