Pagini recente » Cod sursa (job #2140613) | Cod sursa (job #2704910) | Cod sursa (job #3123382) | Cod sursa (job #2827404) | Cod sursa (job #80738)
Cod sursa(job #80738)
#include<stdio.h>
long a[200000],i,smax,x,y,sc,poz,nr,n;
int main(){
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%ld",&n);
nr=0;
for(i=0;i<n;i++){
scanf("%ld%ld",&x,&y);
if(y==0)a[i]=-x;
else a[i]=x;
}
sc=a[0];smax=a[0];poz=0;x=0;y=0;
for(i=1;i<n;i++){
if(sc<0){
sc=a[i];
poz=i;
}
else sc+=a[i];
if(sc>smax){
smax=sc;
x=poz;
y=i;
}
}
if(sc>=0 && poz!=0)
for(i=0;i<poz;i++){
sc+=a[i];
if(sc>smax){
smax=sc;
x=poz;
y=i;
}
}
x++;y++;
if(y<x)y=n-x+1+y;
printf("%ld %ld %ld\n",smax,x,y);
fclose(stdin);
fclose(stdout);
return 0;
}