Pagini recente » Cod sursa (job #533098) | Cod sursa (job #2302291) | Cod sursa (job #2306936) | Cod sursa (job #87271) | Cod sursa (job #333797)
Cod sursa(job #333797)
#include <stdio.h>
#include <limits.h>
long long max=-LONG_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("%lld",&n);
for (i=1;i<=n;i++)
{scanf("%lld %lld",&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]))
{v[x]+=v[x-1];
lung1++;
} else
lung1=1;
if (v[x]>max) {max=v[x];l=lung1;p=(x-l)%n+1;}
}
printf("%lld %lld %lld",max,p,l);
return 0;}