Pagini recente » Cod sursa (job #804131) | Cod sursa (job #1599841) | Cod sursa (job #381121) | Cod sursa (job #1910942) | Cod sursa (job #333768)
Cod sursa(job #333768)
#include <stdio.h>
int max=-989849834,lung1,x,i1,y,p,l,n,v[200009],i,s[400009];
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
{scanf("%d %d",&y,&x);
if (x==0) v[i]=-y; else v[i]=y;
}
s[0]=0;lung1=0;
for (x=1;x<=2*n;x++)
{i=(x-1)%n+1;i1=(x-2)%n+1;
if ((s[x-1]+v[i]>v[i])&&(lung1<=n))
{s[x]=v[i]+s[x-1];
lung1++;
} else
{s[x]=v[i];
lung1=1;
}
if (s[x]>max) {max=s[x];l=lung1;p=(x-l)%n+1;}
}
printf("%d %d %d",max,p,l);
return 0;}