Cod sursa(job #521544)

Utilizator APOCALYPTODragos APOCALYPTO Data 12 ianuarie 2011 19:41:12
Problema Secventa 3 Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
using namespace std;
#include<iostream>
#include<fstream>

ofstream fout("secv3.out");

int N,L,U,back,front,deque[30005], c[30005],t[30005];
void solve()
{float sumc,sumt,max,cand,K;
int i;
max=-0x3f3f3f3f;
    for(K=L;K<=U;K++)
    {
        back=0;
        front=1;
        sumc=0;
        sumt=0;

        for(i=1;i<=N;i++)
        {
           // while(a[i])
           back++;
           deque[back]=i;
           sumc+=(float)c[i];
           sumt+=(float)t[i];
           if(i-deque[front]==K) front++,sumc-=c[deque[front-1]],sumt-=t[deque[front-1]];
           if(i>=K)
           {   cand=(float)sumc/sumt;
               if(max<cand)
               {
                   max=cand;
               }
           }

        }
    }
    fout<<max<<"\n";
}

void cit()
{
    ifstream fin("secv3.in");
    int i;
    fin>>N>>L>>U;
    for(i=1;i<=N;i++)
    {
        fin>>c[i];
    }

    for(i=1;i<=N;i++)
    {
        fin>>t[i];
    }
    fin.close();
}

int main()
{
    cit();

    solve();

    fout.close();

    return 0;

}