奶牛晒衣服【贪心】【堆】

>Link

ybtoj奶牛晒衣服


>解题思路

每一个单位时间每件衣服都干 a a a点湿度,所以可以先不用管自然干,
我们考虑烘干,为了使最后用的时间最少,每次选取的衣服一定是所有衣服中最湿的那一件
这样我们枚举每一个单位时间,对当前湿度维护一个大根堆,每次取堆顶烘干


>代码

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;

priority_queue<int> q;
int n, a, b, h[500010], t;

int main()
{
    
    
	scanf ("%d%d%d", &n, &a, &b);
	for (int i = 1; i <= n; i++)
	{
    
    
		scanf ("%d", &h[i]);
		q.push(h[i]);
	}
	while (q.top() - t * a > 0)
	{
    
    
		t++;
		q.push(q.top() - b);
		q.pop();
	}
	printf ("%d", t);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43010386/article/details/112137135