Pagini recente » Cod sursa (job #923090) | template/preoni-2006/finalrankings | Clasament pregatire_oji_4 | Cod sursa (job #2180263) | Cod sursa (job #1738598)
#include<bits/stdc++.h>
#define INF LLONG_MAX
#define maxN 400005
using namespace std;
int n,x,c,v[400005],ls,ld,imin;
long long maxim=-INF,s[maxN],m;
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&x,&c);
if (c) v[i]=x;
else v[i]=-x;
}
for(int i=n+1;i<=2*n;i++)
{
v[i]=v[i-n];
}
s[0]=0;
m=0;
for(int i=1;i<=(2*n);i++)
{
// scanf("%lld",&x);
s[i]=(s[i-1]+v[i]*1LL)*1LL;
if ((s[i]-m)>maxim && (i-imin)<=n)
{
maxim=s[i]-m;
ls=imin+1;
ld=i;
}
if (s[i]<m) m=s[i],imin=i;
}
int y=ld-ls+1;
printf("%lld %d %d\n",maxim,ls,y);
return 0;
}