思路:先把加油站按升序排列。
在经过加油站时,往优先队列里加入B[i].(每经过一个加油站时,预存储一下油量)
当油箱空时:1、如果队列为空(可以理解成预存储的油量),则无法到达下一个加油站,更无法到达目的地。
2、否则就取出队列里的最大元素,来给汽车加油(贪心思想)
#include#include #include #include #include using namespace std; int n,l,p; int t[10005]; struct Node { int a,b; bool operator < (const Node e)const { return e.a>a; } }s[10005]; int B[10005]; int A[10005]; int main() { //freopen("d:\\test.txt","r",stdin); cin>>n; priority_queue q; for(int i=0;i >l>>p; for(int i=0;i