Cod sursa(job #670888)

Utilizator mitrutstrutMitrea Andrei Ionut mitrutstrut Data 30 ianuarie 2012 12:51:46
Problema Secventa 3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <iomanip>
#define LE 30006
using namespace std;
ifstream f("secv3.in");
ofstream g("secv3.out");
int n,L,U,LI,i;
float TB,CB,C[LE],T[LE],cost,timp,MAX;
void citire ()
{
f>>n>>L>>U;
for(i=1; i<=n; i++) f>>C[i];
for(i=1; i<=n; i++)f>>T[i];
}
int main()
{
citire();
for(i=1,LI=1; i<=n; i++)
{
cost+=C[i];
timp+=T[i];
if (i-LI+1>U)
{
cost-=C[LI],timp-=T[LI];
TB-=C[LI],CB-=T[LI];
LI=i-L;
}
if (i>L)
{
CB+=C[i-L];
TB+=T[i-L];
if ((cost-CB)/(timp-TB)>cost/timp)
{
cost-=CB,timp-=TB;
LI=i-L+1;
CB=0,TB=0;
}
}
if (i>=L) MAX=max(MAX,cost/timp);
}
 g<<fixed;
g<<setprecision(3)<<MAX<<'\n';
f.close();
g.close();
return 0;
}