Expedition(POJ 2431) 汽車加油

#include "pch.h"
#include <iostream>
#include <queue>

using namespace std;

const int maxn = 1000;
// 距離,油量,加油站數量
int L, P, N;
int A[maxn], B[maxn];

int solve() {
	A[N] = L;
	B[N] = 0;
	N++;

	int currL = 0, int currP = P, int currN = 0;

	priority_queue<int> pque;

	for (int i = 0; i < N; i++) {
		int needL = A[i] - currL;
		while (currP - needL < 0) {
			if (pque.empty) {
				puts("-1");
				return;
			}

			currP = P + pque.top();
			pque.pop();
			currN++;
		}

		currL = A[i];
		currP -= needL;
		pque.push(B[i]);
	}

	return currN;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章