Pagini recente » Cod sursa (job #2975255) | Cod sursa (job #208209) | Cod sursa (job #1282651) | Cod sursa (job #1972465) | Cod sursa (job #271923)
Cod sursa(job #271923)
#include<fstream.h>
int n,i,semn,v[200010],s[200010],p1,p2,u1,u2,min,pmin,max,pmax,smax,smin,stot;
int main()
{
ifstream f("buline.in");
ofstream g("buline.out");
f>>n;
for(i=1;i<=n;i++)
{f>>v[i]>>semn;
if(semn==0) v[i]=-v[i];
s[i]=v[i]+s[i-1];
}
max=int(2e9);
min=0; pmin=0;
for(i=1;i<=n;i++)
{ if(s[i]-min>max) { max=s[i]-min; p1=pmin+1; u1=i;}
if(s[i]<min) {min=s[i]; pmin=i;}
}
smax=max; min=-int(2e9); max=0; pmax;
for(i=1;i<=n;i++)
{ if(s[i]-max<min) { min=s[i]-max; p2=pmax+1; u2=i;}
if(s[i]>max) {max=s[i]; pmax=i;}
}
smin=min;
stot=s[n];
if(stot-smin>smax) g<<stot-smin<<" "<<p1<<" "<<u1-p1+p2;
else g<<smax<<" "<<p1<<" "<<u1-p1+1;
f.close();
g.close();
return 0;
}