Pagini recente » Cod sursa (job #2692385) | Cod sursa (job #1701590) | Cod sursa (job #867267) | Cod sursa (job #2520290) | Cod sursa (job #240498)
Cod sursa(job #240498)
#include <stdio.h>
int a[400005];
int n,s,ci,k,maxk,max;
void read ()
{
int i,nr;
scanf ("%d",&n);
for (i=1; i<=n; ++i)
{
scanf ("%d%d",&a[i],&nr);
if (!nr)
a[i]*=-1;
}
for (i=n+1; i<=2*n; ++i)
a[i]=a[i-n];
}
void solve ()
{
int i;
s+=a[1];
max=a[1];
ci=1;
for (i=2; i<=n+maxk; ++i)
{
s+=a[i];
++k;
if (s<0)
{
s=0;
ci=i+1;
k=0;
}
if (s>max)
{
max=s;
maxk=k;
}
}
}
int main ()
{
freopen ("buline.in","r",stdin);
freopen ("buline.out","w",stdout);
read ();
solve ();
printf ("%d %d %d\n",max,ci,maxk);
return 0;
}