Pagini recente » Cod sursa (job #1351232) | Cod sursa (job #1941839) | Cod sursa (job #2852255) | Cod sursa (job #1388266) | Cod sursa (job #353612)
Cod sursa(job #353612)
#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;
}
for(i=1;i<=n;i++)
{
if(v1[v2[i-1]]+v1[n]-v1[i-1]>max || i==1)
{
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;
}