正题
大意
有n个蜡烛,第i个晚上要烧i根,没烧一个晚上蜡烛要消耗一个高度,求能烧多少个晚上。
解题思路
就是先烧高的,让剩下的蜡烛尽量多。
代码
#include<cstdio>
#include<algorithm>
using namespace std;
int n,h[101],k;
int main()
{freopen("lazhu.in","r",stdin);freopen("lazhu.out","w",stdout);scanf("%d",&n);for (int i=1;i<=n;i++)scanf("%d",&h[i]);for (int i=1;i<=n;i++){ sort(h+1,h+1+n);for (int j=n;j>=n-i+1;j--)if (h[j]==0) {k=i-1;break;}//烧蜡烛else {h[j]-=1;}if (k) break;}if (!k) printf("%d",n);else printf("%d",k);
}