Pagini recente » Cod sursa (job #1903557) | Cod sursa (job #2716434) | Cod sursa (job #1436915) | Cod sursa (job #2490934) | Cod sursa (job #751662)
Cod sursa(job #751662)
#include<cstdio>
using namespace std;
int n,x,t,i,in,maxi,s,i1,j1,a[400002];
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
scanf("%d",&t);
if(t==0) a[i]=-x;
else a[i]=x;
}
for(i=n+1;i<=2*n;i++)
a[i]=a[i-n];
in=1;
s=a[1];
maxi=s;
i1=in;
j1=in;
for(i=2;i<=2*n;i++)
{
if(s<=0||i-in+1>n)
{
if(i>n) break;
s=a[i];
in=i;
}
else s=s+a[i];
if(s>maxi)
{
maxi=s;
i1=in;
j1=i;
}
}
printf("%d %d %d",maxi,i1,j1-i1+1);
return 0;
}