Pagini recente » Cod sursa (job #2134780) | Cod sursa (job #2476066) | Cod sursa (job #3172914) | Cod sursa (job #2670876) | Cod sursa (job #2092182)
#include <cstdio>
using namespace std;
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
int n,i,sc,scc,smax,x,y,ic=1,imax=1,sfmax=1,st,smin,imin=1,sfmin=1;
scanf("%d",&n);
scanf("%d %d",&x,&y);
if(y==0)
x=-x;
st=x;
sc=x;
scc=x;
smax=x;
smin=x;
for(i=2;i<=n;i++)
{
scanf("%d %d",&x,&y);
if(y==0)
x=-x;
st=st+x;
if(sc+x>x)
sc=sc+x;
else
{
sc=x;
ic=i;
}
if(sc>smax)
{
smax=sc;
imax=ic;
sfmax=i;
}
if(scc+x<x)
scc=scc+x;
else
{
scc=x;
ic=i;
}
if(scc<smin)
{
smin=scc;
imin=ic;
sfmin=i;
}
}
if(smax>st-smin)
{
x=sfmax-imax+1;
printf("%d %d %d\n",smax,imax,x);
}
else
{
x=sfmin;
sfmin=imin-1;
imin=x+1;
sfmin=n+sfmin-imin+1;
x=st-smin;
printf("%d %d %d\n",x,imin,sfmin);
}
return 0;
}