Pagini recente » Cod sursa (job #2195853) | Cod sursa (job #1140981) | Cod sursa (job #2480192) | Cod sursa (job #408963) | Cod sursa (job #992495)
Cod sursa(job #992495)
#include<cstdio>
#include<climits>
int n,v[200001],s,in,d,smax=INT_MIN,imax,dmax,i,j,a,c;
FILE *f,*g;
int main(){
f=fopen("buline.in","r");
g=fopen("buline.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++){
fscanf(f,"%d%d",&a,&c);
if(c==1)
v[i]=a;
else
v[i]=-a;
}
i=1;
imax=0;
dmax=0;
s=0;
in=1;
d=1;
while(i<=n){
if(s+v[i]>=v[i]){
d++;
s+=v[i];
if(s>smax){
smax=s;
dmax=d;
imax=in;
}
}
else{
s=v[i];
in=i;
d=1;
}
i++;
}
i=1;
while(i<=n && i<in){
if(s+v[i]>=v[i]){
d++;
s+=v[i];
if(s>smax){
smax=s;
dmax=d;
imax=in;
}
}
else{
s=v[i];
in=i;
d=1;
break;
}
i++;
}
fprintf(g,"%d %d %d",smax,imax,dmax);
fclose(f);
fclose(g);
return 0;
}