Pagini recente » Cod sursa (job #3225015) | Cod sursa (job #2840818) | Cod sursa (job #1124748) | Cod sursa (job #2305749) | Cod sursa (job #1625394)
#include <fstream>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
int i,j,p,P;
int a[400001];
int n,Nr,grad;
long long s1=-9000000,s2=99999999,s=0;
int Max=-9999999,Min=99999999;
int lm,pm,lM,pM;
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>Nr>>grad;
a[i]=Nr*(grad*2-1);
s+=a[i];
}
for(i=1;i<=n;i++)
{
if(s1+a[i]>=a[i])
{
s1+=a[i];
}
else
{
s1=a[i];P=i;
}
if(s1>Max)
{
Max=s1;
lM=i;
pM=P;
}
if(s+a[i]<a[i])
{
s2+=a[i];
}
else
{
s2=a[i];p=i;
}
if(s2<Min)
{
Min=s2;
lm=i;
pm=p;
}
}
if(s-Min<Max)
{
g<<Max<<" "<<pM<<" "<<lM-pM+1;
}
else
{
g<<s-Min<<" "<<lm+1<<" "<<n-lm+pm-1;
}
return 0;
}