Pagini recente » Cod sursa (job #1735290) | Cod sursa (job #1798479) | Cod sursa (job #2867457) | Cod sursa (job #288120) | Cod sursa (job #132211)
Cod sursa(job #132211)
#include<stdio.h>
#define maxn 400100
int nr[maxn];
int main(){
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
int n,i,aux,pmin,pmax,p,u,max,s;
scanf("%d",&n);
for(i=0;i<n;++i){
scanf("%d%d",&nr[i],&aux);
if(aux==0)
nr[i]=nr[i]*(-1);
}
for(i=n;i<2*n-1;++i)
nr[i]=nr[i-n];
s=0;
p=u=0;
max=-1000000;
for(i=0;i<2*n-2;++i){
s+=nr[i];
++u;
if(max<s){
max=s;
pmin=p;
pmax=u;
}
if(s<0){
s=0;
p=i+1;
u=i+1;
}
}
printf("%d %d %d\n",max,pmin+1,pmax-pmin);
fclose(stdin);
fclose(stdout);
return 0;
}