Pagini recente » Cod sursa (job #1186199) | Cod sursa (job #274667) | Cod sursa (job #564112) | Cod sursa (job #8617) | Cod sursa (job #353620)
Cod sursa(job #353620)
#include <stdio.h>
FILE *f,*s;
long long int n,i,max,lun,poz,v1[2000005],v2[2000005];
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])
v2[i]=v2[i-1];
else
v2[i]=i;
}
max=-1000000000;
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);
}
if(v1[i]>max)
{
max=v1[i];
poz=i;
lun=1;
}
}
fprintf(s,"%lld %lld %lld",max,poz,lun);
fclose(s);
return 0;
}