Cod sursa(job #25075)

Utilizator petrecgClinciu Glisca Petre petrecg Data 4 martie 2007 10:25:29
Problema Buline Scor 20
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasa a 9-a si gimnaziu Marime 0.75 kb
#include <stdio.h>
long nr,nr2,i,j,n,k,s,s1,s2,smax,p,q,pf,qf,k2;
FILE *f;
int main()
{f=fopen("buline.in","r");fscanf(f,"%ld",&n);pf=1;qf=1;
 fscanf(f,"%ld%ld",&nr,&k);if(!k)k=-1;s=s+k*nr;
 s1=s;s2=s;smax=s;p=1;nr2=nr;k2=k;
 for(i=2;i<=n;i++)
  {fscanf(f,"%ld%ld",&nr,&k);if(!k)k=-1;s=s+k*nr;
   q=i;s1=s1-k2*nr2+k*nr;k2=k;nr2=nr;if(s1>s){p=i;s=s1;}
   if(s>smax){smax=s;pf=p;qf=q;}}
 fclose(f);
 f=fopen("buline.in","r");fscanf(f,"%ld",&n);
 for(i=1;i<=n&&i<pf;i++)
  {fscanf(f,"%ld%ld",&nr,&k);if(!k)k=-1;s=s+k*nr;
   q=i;s1=s1-k2*nr2+k*nr;k2=k;nr2=nr;if(s1>s){p=i;s=s1;}
   if(s>smax){smax=s;pf=p;qf=q;}}
 fclose(f);
 if(qf>=pf)qf=qf-pf+1;else qf=n-(pf-qf-1);
 f=fopen("buline.out","w");fprintf(f,"%ld %ld %ld",smax,pf,qf);fclose(f);
 return 0;
}