#include <bits/stdc++.h>
using namespace std;
double dis,m,c,ans;
int n;
const int N=1e4+1;
double d[N];double cost[10001];
double mmin=-1;bool flag;
double g(double x)
{
return double(int(x*10+0.5)/10.0);
}
void dfs(int t,double now,double ha)
{
if(t==n)
{
double te;te=now;
if((dis-d[t])>ha*c||ha*2<m) te+=(m-ha)*cost[t]+20.0;
if(mmin==-1) mmin=te;
else mmin=min(mmin,te);
return;
}flag=0;
if((d[t+1]-d[t])<=c*ha)
dfs(t+1,now,ha-(d[t+1]-d[t])/c);
else dfs(t+1,now+g((m-ha)*cost[t])+20.0,m-(d[t+1]-d[t])/c),flag=1;
if(ha<m/2&&!flag)
{
dfs(t+1,now+g((m-ha)*cost[t])+20.0,m-(d[t+1]-d[t])/c);
}
return;
}
int main()
{
cin>>dis;
cin>>m>>c>>ans;
cin>>n;
for(int i=1;i<=n;i++) cin>>d[i]>>cost[i];
dfs(1,0,m-d[1]/c);
//double o=int((ans+mmin)*10)/10.0;
//cout<<o;
printf("%.1f",ans+mmin);
return 0;
}
真 的 调 崩 了
救救我吧。。。。