Cod sursa(job #2607494)

Utilizator alex_benescuAlex Ben alex_benescu Data 29 aprilie 2020 20:59:26
Problema Secventa 3 Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <stdio.h>
#define NMAX 30003
#define EPS 0.001
#define MAXVAL 33554432
#define X 1000
using namespace std;
int vcost[NMAX], vtimp[NMAX];
float v[X + 3];
int main() {
  freopen ( "secv3.in", "r", stdin );
  freopen ( "secv3.out", "w", stdout );
  int n, lmin, lmax, i, scost, stimp, k;
  float r, mij;

  scanf ( "%d%d%d", &n, &lmin, &lmax );
  for ( i = 0; i < n; i ++ )
    scanf ( "%d", &vcost[i] );
  for ( i = 0; i < n; i ++ )
    scanf ( "%d", &vtimp[i] );

  r=0;
  for ( k = lmin; k <= lmax; k ++ ) {
    scost = stimp = 0;
    for ( i = 0; i < k; i ++ ) {
      scost += vcost[i];
      stimp += vtimp[i];
    }
    mij = (float) scost / stimp;
    for ( i = k; i < n; i ++ ){
      scost = scost - vcost[i - k] + vcost[i];
      stimp = stimp - vtimp[i - k] + vtimp[i];
      if ( (float) scost / stimp > mij )
        mij = (float) scost / stimp;
    }
    if ( r < mij )
      r = mij;
  }

  printf ( "%f\n", r );
  return 0;
}