Pagini recente » Monitorul de evaluare | Cod sursa (job #2254564) | Cod sursa (job #492779) | Arhiva de probleme | Cod sursa (job #2079247)
#include <fstream>
#include <set>
using namespace std;
ifstream fin("secv3.in");
ofstream fout("secv3.out");
int n,U,L,i,j,p1,p2;
double v[30005],t[30005],val,timp;
double mx,sv[30005],st[30005];
set<pair<double,int>>seet;
set<pair<double,int>>::iterator it;
pair<double,int>a;
int main()
{fin>>n>>U>>L;
for(i=1;i<=n;i++)
fin>>v[i];
for(i=1;i<=n;i++)
fin>>t[i];
for(i=1;i<=n;i++)
{sv[i]=sv[i-1]+v[i];
st[i]=st[i-1]+t[i];
p1=i-L;
p2=i-U;
if(i>U){
a.first=sv[p1]/st[p1];
a.second=p1;
seet.erase(a);
a.first=sv[p2]/st[p2];
a.second=p2;
seet.insert(a);
it=seet.begin();
a=*it;
val=sv[i]-sv[a.second];
timp=st[i]-st[a.second];
mx=max(mx,val/timp);
}
else if(i==U) mx=sv[i]/st[i];
}
fout<<mx<<" ";
}