Pagini recente » Cod sursa (job #614699) | Cod sursa (job #1091117) | Cod sursa (job #517281) | Cod sursa (job #3226897) | Cod sursa (job #1412200)
#include <cstdio>
using namespace std;
int v[200005];
bool c[200005];
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
int n,i,stot=0,smin,sc,smax,st,drm,stm,dr,l;
scanf("%d",&n);
for(i=0; i<n; i++){
scanf("%d",&v[i]);
scanf("%d",&c[i]);
if(c[i]==0)
v[i]*=(-1);
stot+=v[i];
}
sc=smin=v[0];
st=stm=drm=0;
for(i=1; i<n; i++)
{
if(sc+v[i]<v[i])
sc+=v[i];
else
{
sc=v[i];
st=i;
}
if(sc<smin)
{
stm=st;
drm=i;
smin=sc;
}
}
if(smin>0)
printf("%d 1 %d",stot,n);
else
{
smax=stot-smin;
dr=(stm-1)%n;
st=(drm+1)%n;
l=(dr+n-st)%n+1;
printf("%d %d %d",smax,st+1,l);
}
return 0;
}