Pagini recente » Cod sursa (job #2482931) | Cod sursa (job #2357219) | Cod sursa (job #760119) | Cod sursa (job #2231006) | Cod sursa (job #127820)
Cod sursa(job #127820)
#include<stdio.h>
#define NMAX 2000001
long x[NMAX],a,b,i,k,l,p,poz,max,m,s,lung,n;
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%ld",&n);
for (i=1;i<=n;i++)
{
scanf("%ld%ld",&a,&b);
if (b==0) x[i]=0-a;
else
x[i]=a;
x[n+i]=x[i];
}
s=x[1];
l=1;
p=1;
max=s;
lung=l;
poz=p;
m=n+n;
for (i=1;i<=m;i++)
if (l<=n)
{
if (s+x[i]<0)
{
if (s>max)
{
max=s;
poz=p;
lung=l;
}
s=x[i];
l=1;
p=i;
} else
{
if (s>max)
{
max=s;
poz=p;
lung=l;
}
s+=x[i];
l++;
}
}
else
{
i=m;
}
printf("%ld %ld %ld\n",max,poz,lung);
return 0;
}