Pagini recente » Cod sursa (job #2494081) | Cod sursa (job #901511) | Cod sursa (job #2440609) | Cod sursa (job #2851426) | Cod sursa (job #25441)
Cod sursa(job #25441)
#include<stdio.h>
int w[200000];
int main () {
int v[200000],a[200000],i,n,s=0,p=1,l=0,j,c,c1=0,max=-1000000000,p1;
FILE *in=fopen("buline.in","r"), *out=fopen("buline.out","w");
fscanf(in,"%d",&n);
for(i=0;i<n;i++){
fscanf(in,"%d%d",&v[i],&a[i]);
if(a[i]==0){
v[i]=v[i]*-1;
c1++;
if(v[i]>max){
max=v[i];
p1=i+1;
}
}
}
if(c1==n){
fprintf(out,"%d %d 1",max,p1);
return 0;
}
for(j=1;j<=2;j++){
for(i=0;i<n&&w[i+1]!=1;i++){
if(s>=0&&w[i]!=1){
s+=v[i];
w[i]=1;
l++;
}
if(s<0){
s=0;
c=i;
while(w[c]==1){
w[c]=0;
c--;
}
p=i+2;
l=0;
}
}
}
fprintf(out,"%d %d %d",s,p,l);
fclose(in);
fclose(out);
return 0;
}