Codeforces Round #599 (Div. 2) A. Maximum Square
Ujan decided to make a new wooden roof for the house. He has nn rectangular planks numbered from 11 to nn. The ii-th plank has size ai×1ai×1 (that is, the width is 11 and the height is aiai).
Now, Ujan wants to make a square roof. He will first choose some of the planks and place them side by side in some order. Then he will glue together all of these planks by their vertical sides. Finally, he will cut out a square from the resulting shape in such a way that the sides of the square are horizontal and vertical.
For example, if Ujan had planks with lengths 44, 33, 11, 44 and 55, he could choose planks with lengths 44, 33 and 55. Then he can cut out a 3×33×3 square, which is the maximum possible. Note that this is not the only way he can obtain a 3×33×3 square.

What is the maximum side length of the square Ujan can get?
The first line of input contains a single integer kk (1≤k≤101≤k≤10), the number of test cases in the input.
For each test case, the first line contains a single integer nn (1≤n≤10001≤n≤1000), the number of planks Ujan has in store. The next line contains nn integers a1,…,ana1,…,an (1≤ai≤n1≤ai≤n), the lengths of the planks.
For each of the test cases, output a single integer, the maximum possible side length of the square.
4
5
4 3 1 4 5
4
4 4 4 4
3
1 1 1
5
5 5 1 1 5
3
4
1
3
The first sample corresponds to the example in the statement.
In the second sample, gluing all 44 planks will result in a 4×44×4 square.
In the third sample, the maximum possible square is 1×11×1 and can be taken simply as any of the planks.
//先从小打到排序,然后枚举最大边长
#include<bits/stdc++.h>
using namespace std;
const int maxn =;
int n,a[maxn];
void solve() {
scanf("%d",&n);
for(int i=; i<n; i++) {
scanf("%d",&a[i]);
}
sort(a,a+n);//从小到大
int ans = ;
for(int i=; i<n; i++) {//从小开始
for(int j=a[i]; j>=; j--) {//让j为a[i]的高度,然后递减
if((n-i)>=j) {// 如果大于a[i]的数目大于等于j,那么此时最大就是j
ans=max(ans,j);
break;
}
}
}
cout<<ans<<endl;
}
int main() {
int t;
scanf("%d",&t);
while(t--)solve();
}
Codeforces Round #599 (Div. 2) A. Maximum Square的更多相关文章
- Codeforces Round #599 (Div. 2) A. Maximum Square 水题
A. Maximum Square Ujan decided to make a new wooden roof for the house. He has
- Codeforces Round #599 (Div. 2) D. 0-1 MST(bfs+set)
Codeforces Round #599 (Div. 2) D. 0-1 MST Description Ujan has a lot of useless stuff in his drawers ...
- Codeforces Round #599 (Div. 2)
久违的写篇博客吧 A. Maximum Square 题目链接:https://codeforces.com/contest/1243/problem/A 题意: 给定n个栅栏,对这n个栅栏进行任意排 ...
- Codeforces Round #599 (Div. 2)的简单题题解
难题不会啊…… 我感觉写这个的原因就是因为……无聊要给大家翻译题面 A. Maximum Square 简单题意: 有$n$条长为$a_i$,宽为1的木板,现在你可以随便抽几个拼在一起,然后你要从这一 ...
- Codeforces Round #221 (Div. 1) B. Maximum Submatrix 2 dp排序
B. Maximum Submatrix 2 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset ...
- Codeforces Round #276 (Div. 1) B. Maximum Value 筛倍数
B. Maximum Value Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/484/prob ...
- Codeforces Round #508 (Div. 2) E. Maximum Matching(欧拉路径)
E. Maximum Matching 题目链接:https://codeforces.com/contest/1038/problem/E 题意: 给出n个项链,每条项链左边和右边都有一种颜色(范 ...
- [Codeforces Round #247 (Div. 2)] A. Black Square
A. Black Square time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- Codeforces Round #172 (Div. 2) D. Maximum Xor Secondary 单调栈应用
http://codeforces.com/contest/281/problem/D 要求找出一个区间,使得区间内第一大的数和第二大的数异或值最大. 首先维护一个单调递减的栈,对于每个新元素a[i] ...
随机推荐
- ArrayList、LinkedList区别(jdk8)
/** * jdk8 * ArrayList:底层动态数组实现(未初始化指定数组长度) * add():添加元素时,才初始化数组长度为10.容量不够时,动态扩容策略为: 原容量 + 原容量*0.5 * ...
- 401 WebEx会议教程一 —— 参加会议
· WebEx会议教程一 —— 参加会议 参加他人发起的会议 1. 在邀请邮件中,接受对方的会议邀请: 2. 一般在WebEx会议开始前15分钟时,邮箱客户端会提醒您 (如下图类似提示) 3. ...
- Wannafly Camp 2020 Day 5A Alternative Accounts
There are n different accounts on the website, and some of them competed in the recent k contests. H ...
- linux - mysql 异常:MySQL Daemon failed to start.
报错内容 MySQL Daemon failed to start. 如果直接输入 mysql -root -p 登陆会出现 [mysql]ERROR 2002 (HY000): Can't conn ...
- (转)spring 框架介绍
转自:http://www.cnblogs.com/wawlian/archive/2012/11/17/2775435.html 1.Spring MVC简介 Spring MVC框架是有一个MVC ...
- SpringBoot整合WEB开发--(五)自定义错误页
目的与原理: 处理异常时,若我们想根据实际情况返回不同的页面,@ControllerAdvice与@ExceptionHandler,一般用于处理应用级别的异常,一些容器级别的错误就处理不了,例如Fi ...
- HTML的表单初级验证
HTML的表单初级验证 placeholder(提示信息) required(确保不能为空) pattern(正则表达式验证) 1. placeholder(提示信息) 语法: <p>账号 ...
- 洛谷P1582 倒水 二进制的相关应用
https://www.luogu.org/problem/P1582 #include<bits/stdc++.h> using namespace std; long long N,K ...
- 安装python包时遇到"error: Microsoft Visual C++ 9.0 is required"的简答(Python2.7)
简答 在Windows下用pip安装Scrapy报如下错误, error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall ...
- CSS技巧!鼠标经过图片抖动效果
把代码加到style.css(模板的主css里面): /**图片抖动**/ img:hover{-webkit-animation: tada 1s .2s ease both;-moz-animat ...