Pagini recente » Cod sursa (job #2943488) | Cod sursa (job #789410) | Cod sursa (job #23773) | Cod sursa (job #527534) | Cod sursa (job #2930654)
#include <fstream>
using namespace std;
ifstream fin ("buline.in");
ofstream fout ("buline.out");
int n,i,a,b,s,ok,x,st,sst,l,v[200001],maxc=-10001;
int main()
{
fin>>n;
for (i=1; i<=n; i++)
{
fin>>a>>b;
if (b==0)
a=a*(-1);
v[i]=a;
}
s=v[1];
st=1;
for (i=2; ; i++)
{
if (i==st)
break;
x=v[i];
if (x>s+x)
{
s=x;
st=i;
if (ok==1)
break;
}
else
s=s+x;
if (s>maxc)
{
maxc=s;
sst=st;
l=i-st;
if (l<0)
l=n-st+1+i;
else
l++;
}
if (i==n)
{
ok=1;
i=0;
}
}
fout<<maxc<<" "<<sst<<" "<<l;
return 0;
}