Pagini recente » Cod sursa (job #2499920) | Cod sursa (job #2337600) | Cod sursa (job #2807719) | Cod sursa (job #2359790) | Cod sursa (job #1971313)
#include <fstream>
using namespace std;
int v[200001];
int main()
{ int i,n,x,y,last;
int sum=0,poz=0,l=0,smax=0;
ifstream f("buline.in");
ofstream g("buline.out");
f>>n;
for (i=1;i<=n;++i) {
f>>x>>y;
if (y==0) v[i]=-x;
else v[i]=x;
}
smax=-10001;
sum=0;
last=poz=l=1;
for (i=1;i<=n;++i)
if (sum+v[i]<v[i]) {
if (sum>smax) {
l=i-last+1;
poz=last;
smax=sum;
}
sum=v[i];
last=i;
}
else {
sum+=v[i];
if (sum>smax) {
l=i-last+1;
poz=last;
smax=sum;
}
}
for (i=1;i<last;++i) {
sum+=v[i];
if (sum>smax) {
l=n-last+1+i;
poz=last;
smax=sum;
}
}
g<<smax<<" "<<poz<<" "<<l;
return 0;
}