Cod sursa(job #1179097)

Utilizator costyrazvyTudor Costin Razvan costyrazvy Data 27 aprilie 2014 22:58:56
Problema Secventa 3 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <vector>
#include <algorithm>
#include <cmath>
#include <fstream>
#define FOR(i,x) for (i=1;i<=x;++i)

using namespace std;

ifstream f("secv3.in");
ofstream g("secv3.out");

int st,dr,N,i,Sc,St,Mx,C[100001],T[100001],SC[100001],ST[100001],M,Nr,t,start;
bool ok[100001];
int main()
{
    f>>N>>st>>dr;

    FOR(i,N) f>>C[i],C[i]=C[i]*100;

    FOR(i,N)
       {
           f>>T[i];
           if (C[i]/T[i]>=100) ok[i]=true;
           if (!ok[i] && Nr>Mx) Nr=M,t=start,start=i+1;
           else if (ok[i-1]) Nr++;
                else Nr=0,start=i;
       }
    if (M>=st)
           {while (ok[t++]) Mx+=C[i]/T[i];g<<Mx/100<<"."<<Mx%100/10<<Mx%10<<'\n';}
    else
    {

        FOR(i,st-1) Sc+=C[i],St+=T[i];

    for (int i=st;i<=N;++i)
        {
            Sc+=C[i]-C[i-st];
            St+=T[i]-T[i-st];

            if (Sc/St>Mx) Mx=Sc/St;
        }

    g<<Mx/100<<"."<<Mx%100/10<<Mx%10<<'\n';
    }
    f.close();
    g.close();
    return 0;
}