Pagini recente » Cod sursa (job #2599764) | Cod sursa (job #445745) | Cod sursa (job #842648) | Cod sursa (job #375958) | Cod sursa (job #409929)
Cod sursa(job #409929)
#include<stdio.h>
int i,n,j,a[400002],v[400002][2],max;
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d %d",&a[i],&j);
if(!j)
a[i]=-a[i];
a[i+n]=a[i];
}
for(i=1;i<=2*n;i++)
{
if(i-v[i-1][1]+1>n)
i=2*n+1;
else
{
if(a[i]<v[i-1][0]+a[i])
{
v[i][0]=v[i-1][0]+a[i];
v[i][1]=v[i-1][1];
}
else
{
v[i][0]=a[i];
v[i][1]=i;
}
}
}
max=-11000;
for(i=1;i<2*n;i++)
if(max<v[i][0])
{
max=v[i][0];
j=i;
}
printf("%d %d %d",max,v[j][1],j-v[j][1]+1);
return 0;
}