Pagini recente » Cod sursa (job #61824) | Cod sursa (job #2427717) | Cod sursa (job #1740589) | Cod sursa (job #258909) | Cod sursa (job #37006)
Cod sursa(job #37006)
#include<stdio.h>
int n,a[200001],i,x,y,pozmax,s,l,lmax,poz,smax=-2000000000;
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) {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) {smax=s;lmax=l;poz=i;}}
poz=poz-lmax;
if(poz<1) poz=n+poz+1;
printf("%d %d %d",smax,poz,lmax);
fclose(stdout);
return 0;}