【ybtoj】【贪心】【堆】【例题1】奶牛晒衣服

传送门
题目


解题思路

每次最慢的一件衣服使用烘干机
设一个 a n s ans ans为时间、

  • 最慢的一件衣服 > a n s ∗ A > ans * A >ansA,对这件衣服使用烘干机
  • 最慢的一件衣服 ≤ a n s ∗ A \leq ans * A ansA a n s ans ans就已经是答案了

Code

#include <iostream>
#include <cstdio>
#include <queue>

using namespace std;

priority_queue<int> f;//大根堆
int n, A, B, a[501000], ans, t;

int main() {
    
    
    scanf("%d%d%d", &n, &A, &B);
    for (int i = 1; i <= n; i++) {
    
    
        scanf("%d", &a[i]);
        f.push(a[i]);
    }
    while (f.top() > ans * A) {
    
    
        ans++;
        t = f.top();
        f.pop();
        f.push(t - B);
    }
    printf("%d", ans);
}

猜你喜欢

转载自blog.csdn.net/qq_39940018/article/details/111701077
今日推荐