Pagini recente » Cod sursa (job #2885009) | Cod sursa (job #3171357) | Cod sursa (job #1226561) | Cod sursa (job #881550) | Cod sursa (job #320670)
Cod sursa(job #320670)
#include<stdio.h>
int n,k,i,a[400001],i1,t,ok,max=-10000;
char b[400001];
void smax()
{ int s=1,gs=1,gd=1,i;
long long lmax=0,gmax=0;
for(i=2;i<=n+n;i++) { if(lmax>0&&!b[i]) lmax=lmax+a[i],b[n+i]=1;
else { lmax=a[i];
s=i;
}
if(lmax>gmax) { gmax=lmax;
gs=s;
gd=i;
}
}
printf("%d ",gmax);
printf("%d ",gs);
printf("%d\n",gd-gs+1);
}
int main()
{ freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for(i1=1;i1<=n;i1++) { scanf("%d %d",&t,&k);
i++;
if(!k) a[i]=-t;
else { a[i]=t;
ok=1;
}
a[i+n]=a[i];
}
if(ok) smax();
else { t=0;
for(i=1;i<=n;i++) if(a[i]>max) { max=a[i];
t=i;
}
printf("%d %d 1\n",max,t);
}
fclose(stdin);
fclose(stdout);
return 0;
}