Pagini recente » Cod sursa (job #2806957) | Cod sursa (job #73466) | Cod sursa (job #1530112) | Cod sursa (job #2420344) | Cod sursa (job #333798)
Cod sursa(job #333798)
#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])&&(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("%lld %lld %lld",max,p,l);
return 0;}