Pagini recente » Cod sursa (job #3152001) | Cod sursa (job #982802) | Cod sursa (job #3133525) | Cod sursa (job #2661424) | Cod sursa (job #179357)
Cod sursa(job #179357)
#include<stdio.h>
#define MAX 2000000000
#define MAXN 200001
int n,i,sum,x,mod,sol=-MAX,pozsol,lgsol;
int s[MAXN],t[MAXN],a[MAXN];
int main(void)
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
t[0]=-MAX;
for(i=1;i<=n;i++)
{
scanf("%d%d",&x,&mod);
if(mod==0)
x=-x;
a[i]=x;
s[i]=s[i-1]+x;
t[i]=s[i];
if(t[i-1]>s[i])
t[i]=t[i-1];
}
for(i=1;i<=n;i++)
if(s[n]-s[i-1]+t[i-1]>sol)
{
sol=s[n]-s[i-1]+t[i-1];
pozsol=i;
}
sum=0;
for(i=pozsol;sum!=sol;i=(i+1)%(n+1))
{
sum=sum+a[i];
lgsol++;
}
printf("%d %d %d",sol,pozsol,lgsol-1);
return 0;
}