Pagini recente » Cod sursa (job #706863) | Cod sursa (job #3139950) | Cod sursa (job #2293137) | Cod sursa (job #2428565) | Cod sursa (job #1539270)
#include <cstdio>
const int NMAX=400000;
using namespace std;
int s[NMAX+1];
int b[NMAX+1];
int p[NMAX+1];
int a[NMAX+1];
int nrbul[NMAX+1];
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
int n,max2=0,i,pmin=0,max1=0,min1;
scanf("%d",&n);
b[0]=0;
min1=0;
for(i=1;i<=n;i++)
{
scanf("%d%d",&a[i],&nrbul[i]);
if(nrbul[i]==0)
nrbul[i]=a[i]*-1;
else
nrbul[i]=a[i];
s[i]=s[i-1]+nrbul[i];
}
for(i=n+1;i<2*n;i++)
{
s[i]=s[i-1]+nrbul[i-n];
}
for(i=1;i<2*n;i++)
{
b[i]=s[i]-min1;
p[i]=pmin+1;
if(s[i]<min1)
{
min1=s[i];
pmin=i;
}
if(b[i]>max1)
{
max2=i;
max1=b[i];
}
}
printf("%d %d %d ",b[max2],p[max2],max2-p[max2]+1);
return