Pagini recente » Cod sursa (job #3335608) | Cod sursa (job #3328088) | Cod sursa (job #3318281) | Cod sursa (job #3354462) | Cod sursa (job #3346101)
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int v[200001],x[200001],st,dr,i,j,n,stCurent,c;
long long s, maxim;
int main()
{
fin>>n;
for(i=1;i<=n;i++){
fin>>v[i]>>c;
if(c==1)
x[i]=v[i];
else
x[i]=-v[i];
}
s = x[1];
stCurent = 1;
maxim = s;
st = 1;
dr = 1;
for (i=2;i<=n;i++) {
if (s + x[i] >= x[i])
s = s + x[i];
else {
s = x[i];
stCurent = i;
}
if (s > maxim) {
maxim = s;
dr = i;
st = stCurent;
}
}
fout<<maxim<<" "<<st<<" "<<dr;
return 0;
}