Cod sursa(job #45280)
#include<fstream.h>
int main(){
ifstream fin("buline.in");
ofstream fout("buline.out");
long N,p,l;
long a[200000];
long S=0,max=-200000;
long x,y;
fin>>N;
for (long i=0;i<N;i++){
fin>>x>>y;
if (y==0)
a[i]=(-1)*x;
else
a[i]=x;}
for (long j=0;j<N;j++){
S=0;
if (a[j]>a[j-1]){
for (long y=j;y<N;y++){
S+=a[y];
if (S>max){
max=S;
p=j+1;
l=y-j;}}
for (long t=0;t<j;t++){
S+=a[t];
if (S>max){
max=S;
p=j+1;
l=N-j+1+t;}} }}
fout<<max<<" "<<p<<" "<<l;
fin.close();
fout.close();
return 0;
}