Pagini recente » Cod sursa (job #2392008) | Cod sursa (job #1820350) | Cod sursa (job #2727670) | Cod sursa (job #1690696) | Cod sursa (job #1412126)
#include <cstdio>
int bul[400000];
int main()
{
freopen( "buline.in", "r", stdin );
freopen( "buline.out", "w", stdout );
int n, i, cul, sc, st, smax, stm, drm;
scanf( "%d", &n );
for( i=1; i<=n; i++ )
{
scanf( "%d%d", &bul[i], &cul );
if( cul==0 )
bul[i]=0-bul[i];
bul[n+i]=bul[i];
}
sc=smax=bul[1];
st=stm=drm=1;
for( i=2; i<=2*n-1; i++ )
{
if( sc+bul[i]>bul[i] )
sc=sc+bul[i];
else
sc=bul[i], st=i;
if( sc>smax )
stm=st, drm=i, smax=sc;
}
printf( "%d %d %d", smax, (stm-1)%n+1, drm-stm+1 );
return 0;
}