Cod sursa(job #25219)
Utilizator | Data | 4 martie 2007 11:28:46 | |
---|---|---|---|
Problema | Buline | Scor | 30 |
Compilator | cpp | Status | done |
Runda | preONI 2007, Runda 3, Clasa a 9-a si gimnaziu | Marime | 0.53 kb |
#include<stdio.h>
long x[400001],n,i,j,a,b,max,lg,inc,sum;
int main()
{
freopen ("buline.in","rt",stdin);
freopen ("buline.out","wt",stdout);
scanf("%ld",&n);
for (i=1;i<=n;i++)
{
scanf("%ld %ld",&a,&b);
if (b==0)
x[i]=-a;
else
x[i]=a;
}
for (i=1;i<=n;i++)
x[n+i]=x[i];
max=0;
for (i=1;i<=n;i++)
{
sum=0;
for (j=i;j<=i+n-1;j++)
{
sum+=x[j];
if (sum>max)
{
max=sum;
inc=i;
lg=j-i+1;
}
}
}
printf("%ld %ld %ld\n",max,inc,lg);
return 0;
}