Pagini recente » Cod sursa (job #2616151) | Cod sursa (job #1260437) | Cod sursa (job #2753736) | Cod sursa (job #1267871) | Cod sursa (job #642722)
Cod sursa(job #642722)
#include <fstream>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
int n,i,j,c,a[400005],s[400005],p,pw,ok,x,poz[400006],pz,ad,d,m,in,el,T;
int main()
{
f>>n;
for(i=1; i<=n; i++)
{
f>>x>>c;
if (c==0)
a[i]=x*-1;
else a[i]=x;
}
for(i=1; i<=n; i++)
{
p+=a[i];
s[i]=p;
}
p=0;
for(i=n+1; i<=2*n-1; i++)
{
p++;
a[i]=a[p];
}
poz[1]=1;
for(i=2; i<=2*n-1; i++)
{
if (i>n) pz=i-n;
if (poz[i-1]<=pz)
{
ad=a[i-1]-;
pw=pz+1;
}
else
{
ad=a[i-1];
pw=poz[i-1];
}
if (ad>0)
{
a[i]=a[i]+ad;
poz[i]=pw;
}
else poz[i]=i;
}
for(i=1; i<=2*n-1; i++)
if (a[i]>m)
{
m=a[i];
in=poz[i];
el=i-poz[i]+1;
}
g<<m<<" "<<in<<" "<<el;
f.close();
g.close();
return 0;
}