你谷在线IDE也运行不了,bdfs无果。
#include<bits/stdc++.h>
using namespace std;
struct OIL
{
double M,L;
}t;
double d,c,D,p,a,b,e,sum;
long long n;
deque<OIL>x;
int mian()
{
cin>>d>>c>>D>>p>>n;
t.M=p;t.L=c;
x.push_back(t);
a=c;
sum=p*c;
for(long long i=1;i<=n;i++)
{
cin>>e>>p;
e-=b;
b+=e;
e/=D;
if(e>a)
{
cout<<"No Solution";
return 0;
}
a-=e;
for(;;)
{
if(x.front().M<e)
{
e-=x.front().M;
x.pop_front();
continue;
}
t=x.front();
t.M-=e;
x.pop_front();
x.push_front(t);
break;
}
while(x.size()!=0)
{
if(x.back().L>p)
{
a-=x.back().M;
sum-=x.back().M*x.back().L;
x.pop_back();
}
else break;
}
t.M=c-a;
t.L=p;
x.push_back(t);
}
while(x.size()!=0)
{
sum-=x.back().M*x.back().L;
x.pop_back();
}
printf("%.2f",sum);
return 0;
}