Pagini recente » Cod sursa (job #1226407) | Cod sursa (job #1271378) | Cod sursa (job #57762) | Cod sursa (job #1385765) | Cod sursa (job #80737)
Cod sursa(job #80737)
#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;
if(a[i]<0)nr++;
}
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 && x!=0)
for(i=0;i<x;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;
}