Pagini recente » Cod sursa (job #1798316) | Cod sursa (job #349243) | Cod sursa (job #1634393) | Cod sursa (job #2763942) | Cod sursa (job #1375023)
#include <fstream>
using namespace std;
ifstream fin("secv3.in");
ofstream fout("secv3.out");
int a[30001],b[30001],s1[30001],s2[30001],n,k,u,x1,x2;
double maxi;
int main()
{
int i;
fin>>n>>k>>u;
for(i=1; i<=n; i++) fin>>a[i];
for(i=1; i<=n; i++) fin>>b[i];
for(i=1; i<=k; i++)
{
x1+=a[i];
x2+=b[i];
}
maxi=x1/float(x2);
s1[1]=x1;
s2[1]=x2;
// fout<<maxi<<" ";
for(i=k+1; i<=n; i++)
{
s1[i-k+1]=s1[i-k]+a[i]-a[i-k];
s2[i-k+1]=s2[i-k]+b[i]-b[i-k];
//fout<<s1[i-k]<<" "<<s2[i-k]<<" "<<maxi<<endl;
if(maxi< s1[i-k+1]/float(s2[i-k+1]) )maxi=s1[i-k+1]/float(s2[i-k+1]);
}
while(k<=u)
{
for(i=1; i<=n-k+1; i++)
{
s1[i]+=a[i+k-1];
s2[i]+=b[i+k-1];
if(maxi<s1[i-k]/float(s2[i-k]))maxi=s1[i-k]/float(s2[i-k]);
k++;
}
fout<<maxi;
return 0;
}