Pagini recente » Cod sursa (job #1285315) | Cod sursa (job #728145) | Cod sursa (job #673822) | Cod sursa (job #1156611) | Cod sursa (job #723921)
Cod sursa(job #723921)
#include<fstream>
#include<deque>
#define inf 0x3f3f3f3f
using namespace std;
long s[30000],ss[30000];
int main()
{ifstream f("secv3.in");
ofstream h("secv3.out");
int L,U,n,i,a;
float max=-inf;
deque<int> p;
f>>n>>L>>U;
for(i=1;i<=n;i++)
{f>>a;
s[i]=s[i-1]+a;}
for(i=1;i<=n;i++)
{f>>a;
ss[i]=ss[i-1]+a;}
if((s[L]*1.)/ss[L]>max)
max=(s[L]*1.)/ss[L];
for(i=1+L;i<=n;i++)
{ while(!p.empty()&&s[i]>p.back())
p.pop_back();
p.push_back(i-L);
if(p.front()<i-U-1)
p.pop_front();
int min=p.front();
if((s[i]-s[min])*1./(ss[i]-ss[min])>max)
max=(s[i]-s[min])*1./(ss[i]-ss[min]);
}
h<<max;
return 0;}