Cod sursa(job #21794)

Utilizator alinaddoca alina alinad Data 24 februarie 2007 14:14:19
Problema Secventa 3 Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<stdio.h>


int main()
{
 FILE *f=fopen("secv3.in", "r");
 unsigned int n, l, u, cost[30002], timp[30002], i, j, k;
 float rap, max, MAX;
 long c, t, cmin, tmin;

 fscanf(f, "%d%d%d", &n, &l, &u);
 for(i=1; i<=n; i++)
   fscanf(f, "%d", &cost[i]);
 for(i=1; i<=n; i++)
   fscanf(f, "%d", &timp[i]);
 fclose(f);

 cost[0]=timp[0]=0;
 c=t=0;
 max=0;
 MAX=0;
 for(i=1; i<l; i++)
  {
   c=c+cost[i];
   t=t+timp[i];
  }
 cmin=c;
 tmin=t;
 for(i=l; i<=n; i++)
  {
   c=cmin+cost[i]-cost[i-l];
   t=tmin+timp[i]-timp[i-l];
   rap=(float)c/t;
   max=rap;
   cmin=c;
   tmin=t;
   for(k=i-l; k>=i-u+1 && k>=1; k--)
    {
     c=c+cost[k];
     t=t+timp[k];
     rap=(float)c/t;
     if(rap>max)
       max=rap;
    }
   if(max>MAX)
     MAX=max;
  }

 f=fopen("secv3.out", "w");
 fprintf(f, "%.2f", MAX);
 fclose(f);

 return 0;

}