Pagini recente » Cod sursa (job #1794505) | Cod sursa (job #1390170) | Cod sursa (job #1370677) | Cod sursa (job #2402742) | Cod sursa (job #353601)
Cod sursa(job #353601)
#include <stdio.h>
FILE *f,*s;
long long int n,i,max,lun,poz,v1[200005],v2[200005];
int main()
{
f=fopen("buline.in","r");
s=fopen("buline.out","w");
fscanf(f,"%lld",&n);
for(i=1;i<=n;i++)
{
int x,y;
fscanf(f,"%d %d",&x,&y);
if(y<=0)
x*=(-1);
v1[i]=v1[i-1]+x;
if(v1[v2[i-1]]>v1[i]&&i>1)
v2[i]=v2[i-1];
else
v2[i]=i;
}
max=-10000000000000LL;
for(i=1;i<=n;i++)
{
if(v1[v2[i-1]]+v1[n]-v1[i-1]>max)
{
max=v1[v2[i-1]]+v1[n]-v1[i-1];
poz=i;
lun=n+v2[i]-(i-1);
}
}
fprintf(s,"%lld %lld %lld",max,poz,lun);
fclose(s);
return 0;
}