Pagini recente » Cod sursa (job #45031) | Cod sursa (job #2848428) | Cod sursa (job #1477321) | Cod sursa (job #182814) | Cod sursa (job #503528)
Cod sursa(job #503528)
#include<stdio.h>
int v[200001];
int main ()
{
int n,i,j,nr,c,sc,p,l,min=999999,s2=0,max=0;
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;
for(i=1;i<=n;i++)
{
sc=sc+v[i];
if (sc>max)
{
max=sc;
p=j;
l=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;
}
}
max=s2-min;
p=p+l;
l=n-l;
printf("%d %d %d",max,p,l);
return 0;
}