rt.蒟蒻80卡住了,第一个点过不去
#include <bits/stdc++.h>
using namespace std;
double a,b,c,e,dp[52],ans=10000000;
int d;
struct l{
double j,y;
}s[52];
int main(){
cin>>a>>b>>c>>e>>d;
for(int i=1;i<=d;i++){
cin>>s[i].j>>s[i].y;
dp[i]=100000000;
}
dp[0]=e*100;
for(int i=1;i<=d;i++){
for(int j=i-1;j>=0;j--){
double ls=s[i].j-s[j].j;
if(ls>b*c){
break;
}
else{
dp[i]=min(dp[i],dp[j]+ls/c*s[i].y);
// cout<<dp[j]+ls/c*s[i].y<<" "<<dp[i]<<" "<<i<<" "<<j<<endl;
}
// cout<<dp[i]<<' '<<i<<" "<<j<<endl;
}
dp[i]+=200;
}
for(int i=1;i<=d;i++){
// cout<<dp[i]<<endl;
if(a-s[i].j<=b*c){
ans=min(ans,dp[i]);
}
}
printf("%.2lf",ans/100);
}