Pagini recente » Cod sursa (job #2349682) | Cod sursa (job #2903293) | Cod sursa (job #475451) | Cod sursa (job #3261778) | Cod sursa (job #1971305)
#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;
}
sum=smax=v[1];
last=poz=l=1;
for (i=2;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;
}
}
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;
}