Pagini recente » Cod sursa (job #2722826) | Cod sursa (job #2730276) | Cod sursa (job #2934316) | Cod sursa (job #573439) | Cod sursa (job #498586)
Cod sursa(job #498586)
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int main () {
int sc,smax1,sss,smax2,dd,n,m,i,j,a,s,x[200001];
ifstream aa("buline.in");
ofstream ss("buline.out");
aa >> n; sss=0; a=1; s=1;
for (i=1;i<=n;++i) {
aa >> x[i] >> dd;
if (dd==0) x[i]=-x[i];
sss=x[i]+sss;
}
smax2=100000; sc=0; smax1=-100000;
for (i=1;i<=n;++i) {
sc=sc+x[i];
if (sc>smax1) {smax1=sc;
s=i-a+1;
j=a;
}
if (sc<0) {sc=0; a=i+1;}
}
sc = 0;
a = 1;
for (i=1;i<=n;++i) {
sc=sc+x[i];
if (sc<smax2)
{
smax2=sc;
s=i-a+1;
j=a+s;
s=n-s;
}
if (sc>0)
{
sc=0;
a=i+1;
}
}
if (sss-smax2>smax1) smax1=sss-smax2;
ss << smax1 << " " << j << " " << s;
ss.close();
aa.close();
return 0;
}