Pagini recente » Cod sursa (job #2193886) | Cod sursa (job #731133) | Cod sursa (job #862899) | Cod sursa (job #1504536) | Cod sursa (job #353605)
Cod sursa(job #353605)
#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);
v2[0]=1;
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])
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;
}