Pagini recente » Cod sursa (job #761468) | Cod sursa (job #2945354) | Cod sursa (job #2182157) | Cod sursa (job #2278034) | Cod sursa (job #165849)
Cod sursa(job #165849)
#include <stdio.h>
#define N 200111
int n,sum=0,s,l,sb,e,lb,max=-N;
struct bila{
int a,b;
};
bila v[N];
void scan()
{
freopen("buline.in", "r",stdin);
freopen("buline.out", "w",stdout);
scanf("%d", &n);
for(int i=1;i<=n;++i)
{
scanf("%d%d", &v[i].a,&v[i].b);
if(!v[i].b)
v[i].b=-1;
}
}
void solve()
{
sum=0;
for(int k=1;k<=2;++k)
for(int i=1;i<=n;++i)
{
if(k==2 && i==n)
break;
e=i;
if(sum<0)
{
sum=0;
s=i;
if(s>n)
s=1;
}
sum+=v[i].a*v[i].b;
if(sum>max)
{
max=sum;
sb=s;
if(e>=s)
lb=e-s+1;
else
lb=(n-s)+e+1;
}
//printf("%d %d %d %d\n",sum,s,e,i);
}
printf("%d %d %d\n",max,sb,lb);
}
int main()
{
scan();
solve();
return 0;
}