其他分享
首页 > 其他分享> > 奶牛晒衣服

奶牛晒衣服

作者:互联网

#392. 奶牛晒衣服

描述
提交
自定义测试

【题目描述】:

在熊大妈英明的带领下,时针和他的同伴生下了许多牛宝宝。熊大妈决定给每个宝宝都穿上可爱的婴儿装。于是,为牛宝宝洗晒衣服就成了很不爽的事情。

圣人王担负起了这个重任。洗完衣服后,你就要弄干衣服。衣服在自然条件下用1的时间可以晒干A点湿度。抠门的熊大妈买了1台烘衣机。使用烘衣机可以让你用1的时间使1件衣服除开自然晒干的A点湿度外,还可烘干B点湿度,但在1的时间内只能对1件衣服使用。

N件的衣服因为种种原因而不一样湿,现在告诉你每件衣服的湿度,要你求出弄干所有衣服的最少时间(湿度为0为干)。
【输入描述】:

第一行N,A,B,接下来N行,每行一个数,表示衣服的湿度(1<=湿度,A,B<=500000,1<=N<=500000)。
【输出描述】:

一行,最少时间。
【样例输入】:

3 2 1
1
2
3

【样例输出】:

1

【样例说明】:

第1个时间内,用机器处理第3件衣服,此外,所有衣服自然晒干2。花费1时间全部弄干。
【时间限制、数据范围及描述】:

时间:1s 空间:128M

30%的数据:1<=N<=1000

100%的数据:1<=湿度,A,B<=500000,1<=N<=500000

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <queue>
using namespace std;
const int N=500005;
const int M=100005;

int n,a,b,x,t;
priority_queue<int > q;

int main(){
	scanf("%d%d%d",&n,&a,&b);
	for(int i=1;i<=n;i++){
		scanf("%d",&x);
		q.push(x);
	}
	while(1){
		++t;
		int p=q.top();q.pop();
		p-=b;
		if(max(p,q.top())<=t*a) break;
		q.push(p);
	}
	printf("%d\n",t);
    return 0;
}


标签:include,衣服,int,晒衣服,时间,湿度,奶牛
来源: https://blog.csdn.net/hssl_ywl/article/details/100620267