Pagini recente » Cod sursa (job #1318434) | Cod sursa (job #1066127) | Cod sursa (job #2343637) | Cod sursa (job #1114299) | Cod sursa (job #1795428)
#include <fstream>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
bool a;
int n,i,v[200010],l,p,lmax,pmax,u;
long long s,smax;
int main()
{
f>>n;
for(i=1;i<=n;++i)
{
f>>v[i]>>a;
if(a==0)
v[i]=-v[i];
}
for(i=1;i<=n;++i)
{
if(s+v[i]>=v[i])
{
l++;
s+=v[i];
}
else
{
p=i;
l=1;
s=v[i];
}
if(smax<s)
{
smax=s;
lmax=l;
pmax=p;
u=i;
}
}
for(i=1;i<u;++i)
{
if(s+v[i]>=v[i])
{
l++;
s+=v[i];
}
else
{
p=i;
l=1;
s=v[i];
}
if(smax<s)
{
smax=s;
lmax=l;
pmax=p;
}
}
l=lmax;
p=pmax;
i=pmax;
smax=0;
while(lmax)
{
if(i>n)
i=1;
--lmax;
smax+=v[i];
++i;
}
g<<smax<<" "<<p<<" "<<l;
return 0;
}