Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #272092)
Cod sursa(job #272092)
#include<fstream.h>
int S,s1,s2,semn,smax,smin,x,p1,p2,l1,l2,min,max,i,n,k1,k2;
int main()
{
ifstream f("buline.in");
ofstream g("buline.out");
f>>n;
p1=p2=k1=k2=1;
smax=-20000; smin=20000;
for(i=1;i<=n;i++)
{ f>>x>>semn; if(semn==0) x=-x;
if(s1<0) { s1=0; k1=i;}
if(s2>0) { s2=0; k2=i;}
s1+=x; s2+=x; S+=x;
if(s1>smax) { smax=s1; p1=k1; l1=i-k1+1;}
if(s2<smin) { smin=s2; p2=k2; l2=i-k2+1;}
}
if(S==smin) g<<smax<<" "<<p1<<" "<<l1;
else if(S-smin>smax)
{ g<<S-smin<<" ";
if(p1<p2) g<<p2+l2<<" "<<l1+n-p2;
else g<<p1<<" "<<l1+p2-1;
}
else g<<smax<<" "<<p1<<" "<<l1;
f.close();
g.close();
return 0;
}