Pagini recente » Cod sursa (job #53448) | Cod sursa (job #546790) | Cod sursa (job #206580) | Cod sursa (job #2059368) | Cod sursa (job #2065821)
#include <fstream>
#include <limits.h>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
int v[200001],n,i,k,s,l,p,smax,l1,p1,smin,l2,p2,l3,p3,s2,S;
int main()
{
f>>n;
smax=INT_MIN;
s=-1;
for(i=1;i<=n;i++)
{
f>>v[i]>>k;
v[i]+=2*(k-1)*v[i];
S+=v[i];
if(s>=0)
{
s+=v[i];
l++;
}
else
{
p=i;
s=v[i];
l=1;
}
if(smax<s)
{
smax=s;
p1=p;
l1=l;
}
if(s2<0)
{
s2+=v[i];
l2++;
}
else
{
p2=i;
s2=v[i];
l2=1;
}
if(smin>s2)
{
smin=s2;
p3=p2;
l3=l2;
}
}
if(smax<S-smin)
{
smax=S-smin;
p1=p3+l3;
l1=n-l3;
}
g<<smax<<" "<<p1<<" "<<l1;
return 0;
}