P1843 奶牛晒衣服
Posted liqgnonqfu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1843 奶牛晒衣服相关的知识,希望对你有一定的参考价值。
题目大意:
n件衣服,每件衣服有初始湿度,正常情况下每件衣服在一个单位时间湿度减a,奶牛有吹风机,单位时间可以使一件衣服多减b,问最快多久能晾干全部。(1 ≤ 湿度,a,b ≤ 500000 ,1 ≤n≤ 500000)
思路:
每个单位时间挑最湿的吹,用堆优化一下。一个记录时间的变量i,每次堆顶元素-1,若堆顶元素≤i*a,就停止。注意i的初值就好。
1 #include<queue> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<cstdlib> 6 7 using namespace std; 8 9 int n,a,b,ans=0; 10 priority_queue<int> humidity; 11 12 int main() 13 { 14 scanf("%d%d%d",&n,&a,&b); 15 for(int i=1;i<=n;i++) 16 { 17 int tem; 18 scanf("%d",&tem); 19 humidity.push(tem); 20 } 21 int aa=0; 22 while(humidity.top()>aa) 23 { 24 int tem=humidity.top(); 25 humidity.pop(); 26 tem-=b; 27 humidity.push(tem); 28 aa+=a; 29 ans++; 30 } 31 printf("%d ",ans); 32 return 0; 33 }
以上是关于P1843 奶牛晒衣服的主要内容,如果未能解决你的问题,请参考以下文章