Pagini recente » Cod sursa (job #1694281) | Cod sursa (job #558464) | Cod sursa (job #883753) | Cod sursa (job #1837986) | Cod sursa (job #1134046)
#include <cstdio>
using namespace std;
int v[400040];
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
int n,p=1,lp=1,i,l=1,pp=1,c,semn,min=2000000000,bul,s=-2000000000,sp=0,poz;
scanf("%d",&n);
for(i=1;i<=n;++i) {
scanf("%d%d",&bul,&semn);
if(semn==0) v[i+n]=v[i]=-bul;
else v[i+n]=v[i]=bul;
if(v[i]<min) {min=v[i];poz=i;}
}
for(i=poz+1;i<=n;++i) {
c=i;
lp=1;
sp=0;
lp=1;
while(lp<n && c<2*n)
{
if(sp>0) {
sp=sp+v[c];
lp++;
}
else {
sp=v[c];
lp=1;
pp=c;
}
if(sp>s) {
s=sp;
p=pp;
l=lp;
}
++c;
}
}
printf("%d %d %d",s,p,l);
return 0;
}