#include<bits/stdc++.h>
using namespace std;
struct Posto{
double distance;
double rate;
}po[1000];
int main(){
double D1,C,D2,P,n,v=0,sur=0,om,sum=0;
cin>>D1>>C>>D2>>P>>n;
int i;
for(i=1;i<=n;i++)
{
cin>>po[i].distance>>po[i].rate;
}
i=1;
om=C;
while(om!=0)
{
sur=om-po[i].distance/D2;
om-=sur;
if((om+sur)*D2<po[i].distance-po[i-1].distance)
{
cout<<"No Solution";
break;
}
v=sur*po[i].rate;
sum+=v;
}
printf("%.2lf",sum);
return 0;
}
帮帮我。