Pagini recente » Cod sursa (job #618379) | Cod sursa (job #538198) | Cod sursa (job #2264111) | Cod sursa (job #2598653) | Cod sursa (job #333778)
Cod sursa(job #333778)
#include <stdio.h>
#include <limits.h>
int max=-LONG_MAX,lung1,x,i1,y,p,l,n,v[400009],i;
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;v[n+i]=-y;} else {v[i]=y;v[n+i]=y;}
}
v[0]=0;lung1=0;
for (x=1;x<=2*n;x++)
{
if ((v[x-1]+v[x]>v[x])&&(lung1<n))
{v[x]+=v[x-1];
lung1++;
} else
lung1=1;
if (v[x]>max) {max=v[x];l=lung1;p=(x-l)%n+1;}
}
printf("%d %d %d",max,p,l);
return 0;}