Pagini recente » Cod sursa (job #2564551) | Cod sursa (job #204244) | Cod sursa (job #2281894) | Cod sursa (job #3178668) | Cod sursa (job #2002573)
#include <fstream>
using namespace std;
int n,i,sum,maxi,mini,a[200001],p,pi,pf,semn,l,sumtotal,sum2,maxi2,l2,pi2,p2,mini2;
int main()
{
ifstream f("buline.in");
ofstream g("buline.out");
f>>n;
maxi=-int(2e9);
p=1;
for(i=1; i<=n; i++)
{
f>>a[i]>>semn;
if(semn==0)
a[i]=-a[i];
sum=sum+a[i];
sumtotal=sumtotal+a[i];
if(maxi<sum-mini)
{
maxi=sum-mini;
pi=p;
l=i-p+1;
}
if(sum<mini)
{
mini=sum;
p=i+1;
}
}
for(i=1; i<=n; i++)
a[i]=-a[i];
maxi2=-int(2e9);
p=1;
for(i=1; i<=n; i++)
{
sum2=sum2+a[i];
if(maxi2<sum2-mini2)
{
maxi2=sum2-mini2;
pi2=p2;
l2=i-p2+1;
}
if(sum2<mini2)
{
mini2=sum2;
p2=i+1;
}
}
maxi2=sumtotal+maxi2;
pi2=pi2+l2;
l2=n-l2;
if(maxi>maxi2)
g<<maxi<<" "<<pi<<" "<<l;
else
g<<maxi2<<" "<<pi2<<" "<<l2;
f.close();
g.close();
return 0;
}