【CF1243A】Maximum Square【贪心】
题意:给你n个长度为ai的木板,求最大能拼成的矩形为多大
题解:显然贪心每次选最大的进去拼,那么剧需要枚举矩形长度x,看最长的k个能够拼出长度为x的矩形即可
#include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cmath> using namespace std; int T,n; int a[1001]; int main() { scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&a[i]); sort(a+1,a+1+n); int ans=0; for(int i=n;i>0;i--) { if(ans+1<=a[i])ans++; else {printf("%d\n",ans);break;} if(i==1)printf("%d\n",ans); } } return 0; }