Pagini recente » Cod sursa (job #726473) | Cod sursa (job #2529166) | Cod sursa (job #860322) | Cod sursa (job #2656568) | Cod sursa (job #37015)
Cod sursa(job #37015)
#include<stdio.h>
int n,a[200001],i,x,y,pozmax,s,l,lmax,poz,smax=-10001;
int main()
{freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{scanf("%d %d",&x,&y);
if(y) a[i]=x;
else a[i]=-x;
s=s+a[i];l++;
if(s>smax||(s==smax&&l<lmax)) {smax=s;lmax=l;poz=i;}
if(s<=0) {s=0;l=0;}}
i=0;
pozmax=n-l;
while(s>0&&i<pozmax)
{s=s+a[++i];l++;
if(s>smax||(s==smax&&l<lmax)) {smax=s;lmax=l;poz=i;}}
poz=poz-lmax+1;
if(poz<1) poz=n+poz;
printf("%d %d %d",smax,poz,lmax);
fclose(stdout);
return 0;}