Pagini recente » Cod sursa (job #1788417) | Cod sursa (job #174368) | Cod sursa (job #266325) | Cod sursa (job #1070218) | Cod sursa (job #503666)
Cod sursa(job #503666)
#include<cstdio>
using namespace std;
int n,i,stmax,stc,sc,smax,lmax,l,ciclu,x,semn,v[200010];
void read()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d",&x,&semn);
if(semn)
v[i]=x;
else
v[i]=-1*x;
}
}
void rez()
{
stc=1;
smax=-2000000000;
sc=0;
stmax=1;
lmax=ciclu=0;
for(i=1;i<=n+n;++i)
{
if(i>n)
{
i%=n;
ciclu=1;
}
x=v[i];
if(sc<0)
{
sc=0;
stc=i;
l=0;
}
if(!l && ciclu)
break;
sc+=x;
l++;
if(ciclu && l>=n)
break;
if(sc>smax || l==n)
{
smax=sc;
stmax=stc;
lmax=l;
}
}
printf("%d %d %d\n",smax,stmax,lmax);
}
int main()
{
read();
rez();
return 0;
}