Pagini recente » Cod sursa (job #2742811) | Cod sursa (job #1546422) | Cod sursa (job #3157193) | Cod sursa (job #2144171) | Cod sursa (job #303265)
Cod sursa(job #303265)
#include <stdio.h>
int i,n,smax=-30000,s,lung,lungmax,poz=1,imax;
int v[400200];
int main ()
{
freopen ("buline.in","r",stdin);
freopen ("buline.out","w",stdout);
scanf ("%d",&n);
for (i=1;i<=n;i++){
int nr,cul;
scanf ("%d %d",&nr,&cul);
if (cul==0) v[i]=-nr;
else v[i]=nr;
v[n+i]=v[i];
}
//for (i=1;i<=2*n;i++) printf ("%d ",v[i]);
for (i=1;i<=2*n;i++){
s=s+v[i];
lung++;
if (s>smax){
smax=s;
lungmax=lung;
imax=poz;
}
if (s==smax){
if (poz==imax && lungmax>lung)lungmax=lung;
if (poz<imax){
imax=poz;
lungmax=lung;
}
}
if (s<0) {
s=lung=0;
poz=i+1;
}
if (lung==n) break;
}
if (imax>n) imax-=n;
printf ("%d %d %d",smax,imax,lungmax);
return 0;
}